jni noSuchMethodError:no static or non-static method的特殊情况解决方法

image.png

如果方法签名是正确的,看不出毛病,怀疑自己的手写能力就尝试用

F:\src\git_project\qqrepacket_pro\insertqqmodule
\build\intermediates\classes\debug\cn\qssq666>javap -p -s EncryptUtilN.class

如下

  public static native java.lang.Object findObj(java.lang.Object, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;

  static {};
    descriptor: ()V
}



比对后尝试复制descriptor粘贴find发现完美匹配啊,为何还是出现这个 错误呢,基于之前玩xposed 因为使用DexClassloaderhook自己实现 不重启生效的的技术,想想之前重启是可以解决这个问题的,(不过不是放到模块里面,)于是重启了两次
发现还是提示这个错误,就在这个时候我突然焕然大悟,想起我上次是如何解决了,我这次的ndk代码是放在gradle模块里面的 不管是使用api还是implementation都是必须重新编译模块,否则就不会产生新的so文件,为了避免重复采坑,于是写下这篇日志。。。。

image.png

你可能感兴趣的:(jni noSuchMethodError:no static or non-static method的特殊情况解决方法)