由于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的(可以向下兼容v5\v6\v7)。
3. 确认so被加载,System.loadLibrary(“xxxxx”)被调用。
3)确认so库有没有这个方法
使用命令nm -D xxx.so,查看有没有有对应的方法。