码迷,mamicode.com
首页 > 移动开发 > 详细

android studio 代码混淆如何忽略第三方jar包

时间:2019-10-17 17:22:04      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:混淆   release   过滤   方法   roi   lan   img   audio   技术   

最近在打包混淆时,遇到一个问题,混淆编译都不出错,运行出错,一般遇到这种问题,肯定是在运行的地方有代码被混淆了,经过错误排查,发现是程序中用到第三方的jar包的方法出现问题了,原来android studio混淆打包时把第三方的jar包给混淆了。

于是想这个问题很简单,保持jar包不混淆就好,于是直接在app目录下的proguard-rules.pro(或者proguard-rules.txt)混淆规则文件直接-libraryjars libs/xx.jar避免混淆。但是却引出了另一个错误:

Error:Execution failed for task ‘:app:proguardRelease’.
java.io.IOException: The same input jar [E:myprojectapplibsXX.jar] is specifi 大专栏  android studio 代码混淆如何忽略第三方jar包ed twice.
也就是说混淆规则文件中,我们指定了2次

解决方法:

打开app目录下的libs文件夹,将各第三方jar下的包名在proguard-rules.pro 文件中过滤。

技术图片

code:

-keep class audio.cutter.lib.{*;}
-keep class universal.initlibs.
{*;}

上面的代码以-keep class audio.cutter.lib.*{;} 为例,意思是不混淆com.baidu包下的各个类及类里面的所以域和方法。把上面的包名换成自己想要忽略的jar下面暴露的包名即可。

android studio 代码混淆如何忽略第三方jar包

标签:混淆   release   过滤   方法   roi   lan   img   audio   技术   

原文地址:https://www.cnblogs.com/sanxiandoupi/p/11693131.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!