Android - 为不同的设备执行不同的代码

时间:2017-04-20 19:58:58

标签: android version device unsatisfiedlinkerror

我几天前的第一个问题没有得到任何答案,我仍然无法在网上找到任何有用的信息,所以我会再次提出一个更常见问题的问题(我在实习期间为此工作,我变得非常绝望,因为我没有任何(更多)想法如何解决这个问题:

我正在编写一个应用程序,它通常可以在Android手机上运行,​​但支持某种行为,目前只有一种设备支持(LG Stylus 2上的数字广播)。在所述设备上,该应用程序工作正常,但它在任何其他设备上与UnsatisfiedlinkError崩溃。

我想让应用程序在启动时检测设备,只在正确的设备上运行时执行数字无线电代码,否则我想执行不同的代码(网络流媒体广播)。

我不一定要求代码,但是从概念上来说这是正确的方法。任何答案都非常感谢。

谢谢你们

戴夫

2 个答案:

答案 0 :(得分:2)

您可以为此目的执行以下操作。

String model = Build.MODEL;

if(model.equalsIgnoreCase("LG Stylus 2")
{
    //do your task
}

答案 1 :(得分:1)

一种可能的解决方案是在gradle和Android Studio中使用构建风格功能。这表明您可以为不同的配置构建多个APK。例如,您可以为LG Stylus 2支持创建构建风格。然后使用正确的class SimpleRouter(BaseRouter): routes = [ # List route. Route( url=r'^{prefix}{trailing_slash}$', mapping={ 'get': 'list', 'post': 'create' }, name='{basename}-list', initkwargs={'suffix': 'List'} ), # Dynamically generated list routes. # Generated using @list_route decorator # on methods of the viewset. DynamicListRoute( url=r'^{prefix}/{methodname}{trailing_slash}$', name='{basename}-{methodnamehyphen}', initkwargs={} ), # Detail route. Route( url=r'^{prefix}/{lookup}{trailing_slash}$', mapping={ 'get': 'retrieve', 'put': 'update', 'patch': 'partial_update', 'delete': 'destroy' }, name='{basename}-detail', initkwargs={'suffix': 'Instance'} ), # Dynamically generated detail routes. # Generated using @detail_route decorator on methods of the viewset. DynamicDetailRoute( url=r'^{prefix}/{lookup}/{methodname}{trailing_slash}$', name='{basename}-{methodnamehyphen}', initkwargs={} ), ] 标记创建一个AndroidManifest.XML文件。还要为新风格添加自定义依赖项和Java代码。