【发布时间】:2012-02-20 17:13:54
【问题描述】:
在您的 Android JNI 应用中出现上述错误?继续阅读...
在前面,我会说我已经以自己的方式解决了这个问题,但我觉得 Android 构建系统中的某些东西(可能与 Eclipse 相关)已经坏了,我希望为其他人节省数小时的痛苦.也许其他人已经遇到过这个问题并可以评论什么对他们有用。
有一段时间,我有一个使用 NDK 开发的带有一些 JNI 代码的 Android 项目。然后,今天,我在 java 代码中更改了一些内容,然后噗,我无法再加载我的 JNI 库。它失败了,异常如下:
E/AndroidRuntime(999):java.lang.UnsatisfiedLinkError:无法加载 mylibrary:findLibrary 返回 null
我用谷歌搜索并尝试了所有方法(重建、关闭和重新启动 Eclipse 等)
什么最终解决了我的问题?在尝试再次运行之前,我从设备上实际卸载了我的应用程序。而已。在那之后,它奏效了。什么对你有用?
【问题讨论】:
-
我看到了奇怪的行为,我不得不将 .so 文件从 \LIBS\ARMEABI 目录中复制出来,并将其放在 \LIBS 目录中以便它找到它。
-
我的应用程序也有同样的问题,不幸的是我的一些客户收到了这个问题(我看到很多关于这个的崩溃报告)。我不知道为什么它只发生在“某些”上,但它适用于大多数。我自己也永远无法复制它。很奇怪……
-
我的设备上有两个应用程序实例,刚刚将 sharedUserId 添加到清单中,但忘记先卸载旧版本。谢谢提醒!
-
@BitBank 你成功了!我的应用程序在模拟器上运行良好,但在手机上运行不佳,我将库复制到所有 Intel、amreabi 文件夹并且它运行正常。地狱是的。
标签: android-ndk java-native-interface