java.lang.UnsatisfiedLinkError: No implementation found for

由于native方法修改了包名,导致load so执行的时候崩溃原因分析;

1)确认报错的方法有没有被混淆。

        查看混淆 文件是否有下面的配置:
                //保留native方法的类名和方法名
                -keepclasseswithmembernames class * {
                    native <methods>;
                }

2)确认so库是否有效并被加载。

  1. apk里有木有这个so库,可以解压缩apk查看lib文件夹下是否有对应的so库,
  2. 如果有这个库,查看对应的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,查看有没有有对应的方法。