DETECTED ERROR IN APPLICATION: JNI GetMethodID called with pending exception java.lang.NoSuchMethodE

最近做一个项目的时候,引入一个第三方的库,包含so,发现在android studio上编译的能够运行,但是放到系统同,写入mk编译,结果抛出如下错误:


06-19 10:42:06.168 6129-7384/com.android.messaging E/art: JNI DETECTED ERROR IN APPLICATION: JNI GetMethodID called with pending exception java.lang.NoSuchMethodError: no non-static method "Lcom/android/test/l;.rsltCb([C[BII)V"
06-19 10:42:06.168 6129-7384/com.android.messaging E/art:     at int com.android.test.Test.testFunction(char[], java.lang.String, java.lang.String, java.lang.String, java.lang.Object) (Unknown:-2)
06-19 10:42:06.168 6129-7384/com.android.messaging E/art:     at void com.android.test.thirdparty.l.i() (Unknown:-1)
06-19 10:42:06.168 6129-7384/com.android.messaging E/art:     at void com.android.test.thirdparty.l.a(android.os.Message) (Unknown:-1)
06-19 10:42:06.168 6129-7384/com.android.messaging E/art:     at void com.android.test.thirdparty.s.handleMessage(android.os.Message) (Unknown:-1)
06-19 10:42:06.168 6129-7384/com.android.messaging E/art:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:110)
06-19 10:42:06.168 6129-7384/com.android.messaging E/art:     at void android.os.Looper.loop() (Looper.java:203)
06-19 10:42:06.168 6129-7384/com.android.messaging E/art:     at void android.os.HandlerThread.run() (HandlerThread.java:61)
06-19 10:42:06.168 6129-7384/com.android.messaging E/art:     in call to GetMethodID
06-19 10:42:06.168 6129-7384/com.android.messaging E/art:     0000000000defac  /system/lib64/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+256)
06-19 10:42:06.169 6129-7384/com.android.messaging E/art:   native: #13 pc 000000000028e1ac  /system/lib64/libart.so (_ZN3art11interpreter34ArtInterpreterToCompiledCodeBridgeEPNS_6ThreadEPNS_9ArtMethodEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+312)
06-19 10:42:06.169 6129-7384/com.android.messaging E/art:   native: #14 pc 0000000000287198  /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+596)
06-19 10:42:06.169 6129-7384/com.android.messaging E/art:   native: #15 pc 00000000005586ac  /system/lib64/libart.so (MterpInvokeStatic+356)
06-19 10:42:06.170 6129-7384/com.android.messaging E/art:   native: #16 pc 00000000000c4e14  /system/lib64/libart.so (ExecuteMterpImpl+14612)
06-19 10:42:06.170 6129-7384/com.android.messaging E/art:     at com.iflytek.msc.MSC.QISRRegisterNotify(Native method)
06-19 10:42:06.170 6129-7384/com.android.messaging E/art:     at com.iflytek.cloud.thirdparty.l.i(Unknown:-1)
06-19 10:42:06.170 6129-7384/com.android.messaging E/art:     at com.iflytek.cloud.thirdparty.l.a(Unknown:-1)
06-19 10:42:06.170 6129-7384/com.android.messaging E/art:     at com.iflytek.cloud.thirdparty.s.handleMessage(Unknown:-1)
06-19 10:42:06.170 6129-7384/com.android.messaging E/art:     at android.os.Handler.dispatchMessage(Handler.java:110)
06-19 10:42:06.170 6129-7384/com.android.messaging E/art:     at android.os.Looper.loop(Looper.java:203)
06-19 10:42:06.170 6129-7384/com.android.messaging E/art:     at android.os.HandlerThread.run(HandlerThread.java:61)

异常是因为找不到方法,

从上面黄色高亮的地方:Lcom/android/test/l;.rsltCb([C[BII)V  

方法里面竟然有l这种无意义的符号,推测是做了混淆,所以需要在mk里面,把混淆去掉。即在proguard.flag里面,添加-keep public class com.android.test.* { *; }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值