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

标签 java android eclipse android-studio adb

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

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,终止启动 adb 服务器,重新连接设备。如果它设法工作,它只能在短时间内工作。 问题仍然存在于 2 台具有不同 USB 电缆的不同机器上。这绝对是 Lollipop 中的一些错误(一切都在 kitkat 上工作),因为我也发现了一些关于华硕或 htc 设备上的 Lollipop 上发生的话题。然而,我找不到任何适用于华为的通用解决方法。

我使用 Mac OS X,因此适用于 Windows 的解决方案不适合我。

我打开了程序员模式,打开了 USB 调试,禁用了从 adb 安装的确认。但是“通过 usb 验证应用程序”选项变灰了,有些人说禁用它可以使其正常工作。亚行 1.0.32。

最佳答案

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

同时我找到了this其他讨论提出了不同的解决方法,如果您还没有尝试过,可以进一步尝试。

Using terminal, just reinstall with adb to avoid the Android Studio recompile time:

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

And usually it works. If it fails again, just run this command again

If you really want to try it, the process would be:

Close Studio (or try disabling Tools | Android | Enable ADB Integration) Do the following on a shell:

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

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

$ (am start command from comment #4/#5) Restart IDE (or Re-enable ADB Integration).

关于java.lang.UnsatisfiedLinkError 和 ADB 中的未知错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33231000/

相关文章:

php - 如何将 CodeIgniter System 文件夹添加到 Eclipse 项目 - Ubuntu

java - Eclipse 调试器中显示的哈希表值

java - 在 JDBC 中插入单引号以进行 SQL 查询不起作用

java - 当我运行客户端-服务器程序时,我得到 ArrayIndexOutofBoundException

jvm - 如何在当前机器上运行jvm

android - Android 中的连接拒绝错误

android - 将应用程序移植到安卓

java - 在扩展和实现同一个类时遇到问题

android - 如果我卸载并重新安装该应用程序,如何实现恢复

java - 在 SpringMVC 中,我在 Centos 7 STS 中部署和运行另一个系统的项目,它给出了错误