gre*_*gko 12 android android-ndk unsatisfiedlinkerror
2013年7月7日更新: 问题现在已经解决,但错误的原因是非常意外的,所有这些错误的常见嫌疑人在开始时都被淘汰了,我学到了一些新东西.请参阅下面的答案.
我非常绝望.有一个带有本机库的Android应用程序,我称之为方法.在我测试的所有系统上都没有问题,并且该程序在Google Play中没有任何问题报告,成千上万的用户使用.现在,HTC One手机显然是新的ROM - Android版本4.2.2.用户声称它是官方版本,从官方频道升级.当他们尝试启动我的应用程序时,它崩溃了,堆栈跟踪说:
java.lang.UnsatisfiedLinkError:找不到本机方法...
我知道的方法名称在那里,并且在他们安装了Android 4.1时在同一台设备上工作得很好.我在Android 4.2.2中在模拟器中测试它(没有这个特定的设备)并且没有问题.此外,用户尝试卸载并重新安装具有相同结果的应用程序.即使向他们发送私人版本,没有任何ProGuard/Dexguard保护也无济于事.
还有什么可以导致Android上的java.lang.UnsatisfiedLinkError?或者我应该假设这个HTC ROM只是错误?有没有其他人在使用Android 4.2.2的HTC One上遇到过类似的问题?
在下面的评论中,另一位开发人员建议系统可能在查找我的本机库时遇到麻烦.我通过从设置中完全删除本机库文件来对Genymotion 4.2.2模拟器进行实验.在这种情况下错误信息是不同的,得到:
W/System.err:引起:java.lang.UnsatisfiedLinkError:无法从loader dalvik.system.PathClassLoader加载cld [dexPath =/data/app/com.hyperionics.avar-2.apk,libra ryPath =/data/app-lib/com.hyperionics.avar-2]:findLibrary返回null
在我从HTC One用户使用Android 4.2.2获得的堆栈跟踪消息中,我看到以下错误消息:
引起:java.lang.UnsatisfiedLinkError:找不到本机方法:com.hyperionics.avar.CldWrapper.detectLangNative:(Ljava/lang/String;)[Ljava/lang/String;
对我来说,系统似乎根据需要找到libcld.so文件,但是找不到它需要的方法.为什么???我知道方法就在那里,根据需要导出,而其他所有运行Android 4.2.2的设备和系统都可以找到它.只有带4.2.2的HTC One在那里失败了......
开始获得50个代表的赏金.因为我没有HTC One而且卡住了.接受一个答案,或者指出解决问题的方法 - 并且回答者将测试我的代码mod.显示它的工作原理 - 或证明这是HTC One最近的Android 4.2.2 ROM中的一个错误.相关应用是https://play.google.com/store/apps/details?id=com.hyperionics.avar
赏金的最后一天,仍然没有答案,没有建议......到目前为止,所有这些错误报告我来自欧洲,报告的品牌是"htc_europe"或"vodafone_fr".也许这个错误仅限于欧洲(法国+德国)...如果有人将HTC One和Android更新到4.2.2,如果错误发生在其他国家或其他提供商,我会感兴趣.
格雷格
gre*_*gko 13
赏金期间没有令人满意的答案.我订购了设备,并且必须调试最有可能是Android 4.2.2更新的设备ROM中的系统错误......
事实证明,有时,从Google Play更新应用时,未正确安装本机库.也许安装程序用完了空间,或者其他一些奇怪的系统错误.请参阅这个问题和答案.
从Google Play订购的HTC One到货了,神秘的解决了!同样的崩溃也发生在Google Play的原版Android 4.2.2上.问题是我的库名:cld,它产生一个名为libcld.so的共享库.显然系统有另一个具有相同名称的共享库,其中我期望的方法不存在,当然......可能有些"插件"将其他libcld.so加载到进程内存中,并且我自己的库被跳过了.我重命名了本地库,程序立即开始工作.
我不知道在Android的不同版本上发生此类名称冲突的可能性......是否有人在阅读此内容时在NDK文档的某个地方看到了警告?我想我将从现在开始使用我的公司名称或其他东西创建所有本地库.
| 归档时间: |
|
| 查看次数: |
5589 次 |
| 最近记录: |