我是靠谱客的博主 灵巧大侠,最近开发中收集的这篇文章主要介绍java.lang.UnsatisfiedLinkError: No implementation found for,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
由于native方法修改了包名,导致load so执行的时候崩溃原因分析;
1)确认报错的方法有没有被混淆。
查看混淆 文件是否有下面的配置:
//保留native方法的类名和方法名
-keepclasseswithmembernames class * {
native <methods>;
}
2)确认so库是否有效并被加载。
- apk里有木有这个so库,可以解压缩apk查看lib文件夹下是否有对应的so库,
- 如果有这个库,查看对应的cpu架构是不是对的,
1、adb shell
2、cat /proc/cpuinfo
显示下面:
Processor : AArch64 Processor rev 14 (aarch64)
表示arm64-v8a的(可以向下兼容v5v6v7)。
3. 确认so被加载,System.loadLibrary(“xxxxx”)被调用。
3)确认so库有没有这个方法
使用命令nm -D xxx.so,查看有没有有对应的方法。
最后
以上就是灵巧大侠为你收集整理的java.lang.UnsatisfiedLinkError: No implementation found for的全部内容,希望文章能够帮你解决java.lang.UnsatisfiedLinkError: No implementation found for所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复