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


日前在打包混淆包含第三方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下面暴露的包名即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM