从2.3升级后通过Android Studio 2.3.3安装apk的未知失败(UnsatisfiedLinkError)

Aar*_*oth 1 java android exception android-studio

两天前我正在运行Android Studio 2.3,并且我的项目中的所有内容都运行良好。安装很好,没有警告,更不用说错误了。

当我从2.3升级到2.3.3时,Android Studio建议使用gradle,平台工具和构建工具进行升级。我做了所有这些操作,现在尝试在同一设备上部署我的应用程序时,它失败了。

**观察**实验室中有3台机器。其中两个正在运行2.2.2,并且在设备上安装该应用程序没有任何问题。

有问题的机器在Android Studio 2.3版上还可以。2.3.3加上gradle和插件更新似乎是问题的一部分。

在2.2.2机器上,apk是单独安装的(工作中)

$ adb shell pm install -r“ /data/local/tmp/com.domain.sub” pkg:/data/local/tmp/com.domain.sub

在2.3.3机器上(不工作)

$ adb install-multiple -r“ ... dependencies.apk,... slice_0.apk,... slice_1.apk,... slice_9.apk,... app-debug.apk

尝试安装时引发的异常(2.3.3):

Error while uploading slice_2.apk : java.lang.UnsatisfiedLinkError: No implementation found for java.lang.String android.os.SystemProperties.native_get(java.lang.String) (tried Java_android_os_SystemProperties_native_1get and Java_android_os_SystemProperties_native_1get__Ljava_lang_String_2)
                at android.os.SystemProperties.native_get(Native Method)
                at android.os.SystemProperties.get(SystemProperties.java:52)
                at android.os.Environment.getCanonicalPathOrNull(Environment.java:834)
                at android.os.Environment.<clinit>(Environment.java:83)
                at android.os.Environment.getLegacyExternalStorageDirectory(Environment.java:421)
                at android.os.Debug.<clinit>(Debug.java:101)
                at android.ddm.DdmHandleHello.handleHELO(DdmHandleHello.java:164)
                at android.ddm.DdmHandleHello.handleChunk(DdmHandleHello.java:91)
                at org.apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.java:171)
                java.lang.UnsatisfiedLinkError: android.os.Debug
                at android.ddm.DdmHandleHello.handleFEAT(DdmHandleHello.java:176)
                at android.ddm.... (show balloon)
Run Code Online (Sandbox Code Playgroud)

Aar*_*oth 6

在尝试了不同的建议之后,对我来说,可行的解决方案是在Android Studio中禁用“即时运行”。

  • 在Android Studio中打开设置。
  • 导航到“构建,执行,部署>即时运行”。
  • 取消选中代码更改后重新启动活动旁边的框。

然后,我清理并重建了应用程序,并成功安装了apk。

  • AS 3.5 中不再存在即时运行,但问题仍然存在。 (2认同)