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下面暴露的包名即可。
遇到这个问题是本能的想到直接在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下面暴露的包名即可。
相关文章推荐
- android studio 代码混淆如何忽略第三方jar包
- android studio 代码混淆如何忽略第三方jar包
- Android studio 混淆打包时如何忽略依赖库中的第三方.so文件
- android studio 代码混淆如何忽略第三方jar包 The same input jar is specified twice
- android studio 代码混淆如何忽略第三方jar包
- android混淆, 忽略第三方jar包
- android studio中如何导入第三方jar包
- android代码混淆时,如何防止第三方jar包被混淆导致程序出错
- Android代码混淆,如何过滤掉反射的R文件及第三方包?
- Android studio 代码混淆和打jar包
- Android中proguard混淆第三方jar包
- 如何混淆Android项目代码(ProGuard)防止反编译
- 如何安全修改cocoapods上的第三方代码
- spring 项目如何做代码混淆或者加密
- Android Studio下做打包apk加代码混淆
- 如何安全修改cocoapods上的第三方代码
- 如何从Eclipse中导入第三方库(并且是带有JNI的)到Android Studio开发工具中?
- android studio 如何加载第三方的jar和so
- 如何去除My97 DatePicker控件上右键弹出官网的链接 - 如何debug混淆过的代码
- Android.mk如何引入第三方jar包