java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app/com.dx.cooperation...

image.png

昨天出包的时候,debug版本是好的,但是release版本就是出现问题,我就猜到混淆so文件的问题,但是so文件是module中的jarlib的so,然后按照网上的混线so文件的规则一直乱操作,白白浪费时间,最后成功了,现在把经验分享在这里,只需要2步

1.在主app的混淆文件中加入混淆规则
image.png

主app中的proguard-rules中添加的混淆规则是对module起作用的

2.在子module中添加混淆规则,会在打包的时候合并进去,但是这里要注意两点:

1.原有的引用语法


proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
要变成 consumerProguardFiles 'proguard-rules.pro'
就这样很简单,也不要忽略什么library,都不需要;

不需要混淆so,直接将他的引用忽略就可以

-keep class com.zhaoss.weixinrecorded.** {*;}
-keep class com.lansosdk.** {*;}
-keep class com.libyuv.** {*;}

# Keep names - Native method names. Keep all native class/method names.
-keepclasseswithmembers,allowshrinking class * {
    native ;
}

你可能感兴趣的:(java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app/com.dx.cooperation...)