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 <methods>;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容