关闭

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

标签: android-studio代码混淆第三方jar混淆
24295人阅读 评论(8) 收藏 举报
分类:

日前在打包混淆包含第三方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 文件中过滤。

libs目录

code:

-keep class com.baidu.** { *; }
-keep class vi.com.gdi.bgl.android.**{*;}
-keep class com.google.gson.**{*;}
-keep class com.android.volley.**{*;}

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

4
10

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:69316次
    • 积分:405
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:0篇
    • 译文:1篇
    • 评论:20条
    文章分类
    最新评论