ADB中的java.lang.UnsatisfiedLinkError和未知错误

时间:2015-10-20 07:53:14

标签: java android eclipse android-studio adb

从Android Kitkat(4.4.2)将我的华为Ascend P7更新为Android Lolipop(5.1.1)后,当我启动应用程序时,我开始遇到两个非常棘手的问题:

1)(Android Studio,Eclipse,来自终端的ADB)

[2015-10-20 09:34:48 - myapp] ------------------------------
[2015-10-20 09:34:48 - myapp] Android Launch!
[2015-10-20 09:34:48 - myapp] adb is running normally.
[2015-10-20 09:34:48 - myapp] Performing com.example.myapp.MainActivity activity launch
[2015-10-20 09:34:49 - myapp] Automatic Target Mode: using device '7N2SRA153S024947'
[2015-10-20 09:34:49 - myapp] Uploading myapp.apk onto device '7N2SRA153S024947'
[2015-10-20 09:34:51 - myapp] Installing myapp.apk...
[2015-10-20 09:35:12 - myapp] Success!
[2015-10-20 09:35:13 - myapp] Starting activity com.example.myapp.MainActivity on device 7N2SRA153S024947
[2015-10-20 09:35:13 - myapp] ActivityManager: java.lang.UnsatisfiedLinkError: No implementation found for java.lang.String android.os.SystemProperties.native_get(java.lang.String, java.lang.String) (tried Java_android_os_SystemProperties_native_1get and Java_android_os_SystemProperties_native_1get__Ljava_lang_String_2Ljava_lang_String_2)
[2015-10-20 09:35:13 - myapp] ActivityManager: at android.os.SystemProperties.native_get(Native Method)
[2015-10-20 09:35:13 - myapp] ActivityManager: at android.os.SystemProperties.get(SystemProperties.java:64)
[2015-10-20 09:35:13 - myapp] ActivityManager: at android.os.Environment$UserEnvironment.<init>(Environment.java:144)
[2015-10-20 09:35:13 - myapp] ActivityManager: at android.os.Environment.initForCurrentUser(Environment.java:82)
[2015-10-20 09:35:13 - myapp] ActivityManager: at android.os.Environment.<clinit>(Environment.java:76)
[2015-10-20 09:35:13 - myapp] ActivityManager: at android.os.Environment.getLegacyExternalStorageDirectory(Environment.java:421)
[2015-10-20 09:35:13 - myapp] ActivityManager: at android.os.Debug.<clinit>(Debug.java:96)
[2015-10-20 09:35:13 - myapp] ActivityManager: at android.ddm.DdmHandleHello.handleHELO(DdmHandleHello.java:164)
[2015-10-20 09:35:13 - myapp] ActivityManager: at android.ddm.DdmHandleHello.handleChunk(DdmHandleHello.java:91)
[2015-10-20 09:35:13 - myapp] ActivityManager: at org.apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.java:171)
[2015-10-20 09:35:13 - myapp] ActivityManager: java.lang.UnsatisfiedLinkError: android.os.Debug
[2015-10-20 09:35:13 - myapp] ActivityManager: at android.ddm.DdmHandleHello.handleFEAT(DdmHandleHello.java:176)
[2015-10-20 09:35:13 - myapp] ActivityManager: at android.ddm.DdmHandleHello.handleChunk(DdmHandleHello.java:93)
[2015-10-20 09:35:13 - myapp] ActivityManager: at org.apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.java:171)
[2015-10-20 09:35:13 - myapp] ActivityManager: java.lang.UnsatisfiedLinkError: android.os.Debug
[2015-10-20 09:35:13 - myapp] ActivityManager: at android.ddm.DdmHandleProfiling.handleMPRQ(DdmHandleProfiling.java:187)
[2015-10-20 09:35:13 - myapp] ActivityManager: at android.ddm.DdmHandleProfiling.handleChunk(DdmHandleProfiling.java:88)
[2015-10-20 09:35:13 - myapp] ActivityManager: at org.apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.java:171)

2)(仅限Eclipse)

[2015-10-20 09:38:15 - myapp] Android Launch!
[2015-10-20 09:38:15 - myapp] adb is running normally.
[2015-10-20 09:38:15 - myapp] Performing com.example.myapp.MainActivity activity launch
[2015-10-20 09:38:15 - myapp] Automatic Target Mode: using device '7N2SRA153S024947'
[2015-10-20 09:38:16 - myapp] Uploading myapp.apk onto device '7N2SRA153S024947'
[2015-10-20 09:38:18 - myapp] Installing myapp.apk...
[2015-10-20 09:38:19 - myapp] Installation error: Unknown failure
[2015-10-20 09:38:19 - myapp] Please check logcat output for more details.
[2015-10-20 09:38:19 - myapp] Launch canceled!

我在logcat中找不到任何东西。

我无法找到任何可靠的解决方案:重启eclipse / android studio,kill-start adb服务器,重新连接设备。如果它能够工作,它只能在短时间内工作。 在具有不同USB电缆的2台不同机器上存在问题。这绝对是棒棒糖中的一些错误(一切都在kitkat上工作),因为我已经在华硕或htc设备上找到了关于lolipop上发生的一些话题。但是,我无法找到华为的任何通用解决方法。

我使用Mac OS X,因此Windows的解决方案对我来说不起作用。

我有打开程序员模式,打开USB调试,从adb上禁用安装确认。但选项&#34;通过usb&#34;验证应用程序它变灰了,有些人说禁用它可以使它工作。 Adb 1.0.32。

2 个答案:

答案 0 :(得分:4)

这是智能手机制造商的错误,华为的更新(如果有)应该是您问题的最终解决方案。

与此同时,我发现this其他讨论提供了不同的解决方法,如果您还没有尝试,可能会进一步尝试。

  

使用终端,只需使用adb重新安装即可避免Android Studio重新编译时间:

     

$ terminal:/ sdk / platform-tools / adb install -r

     

通常它有效。如果再次失败,只需再次运行此命令

     

如果您真的想尝试一下,那么过程将是:

     

关闭Studio(或尝试禁用工具| Android |启用ADB集成)   在shell上执行以下操作:

     

$ adb push /path/to/your/project/app/build/outputs/apk/app-debug.apk / data

     

$ adb shell pm install /data/app-debug.apk

     

$(从评论#4 /#5开始命令)   重新启动IDE(或重新启用ADB集成)。

答案 1 :(得分:1)

华为最新发布的固件(B839)解决了这个问题。