您的位置:首页 > 移动开发 > Android开发

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

2017-04-17 10:07 411 查看
日前在打包混淆包含第三方jar包的Android studio项目时 报出了各种错误,但是debug版本却能正常运行,于是怀疑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:\myproject\app\libs\XX.jar] is specified twice.


也就是说混淆规则文件中,我们指定了2次


解决方法


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





代码如下:-keep class org\achartengine.** { *; }

上面的代码为例,意思是不混淆org\achartengine包下的各个类及类里面的所以域和方法。把上面的包名换成自己想要忽略的jar下面暴露的包名即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: