1. 程式人生 > >Android Studio自定義proguard混淆

Android Studio自定義proguard混淆

方法一:(失敗)

開始的時候感覺有點懵逼,百度上一大堆說去安裝目錄替換proguard的版本(前提是你下載原始碼重新編譯一個修改好的jar包)

那麼問題來了,我壓根就不知道studio引用的是那個版本的,人家說也不一定引用最新的,網上查了很久我也沒得出答案,我的Android studio是3.2版本的,

後來我三個版本都替換修改的包,搞著搞著,還是果斷放棄吧

 

Android studio自帶proguard是在安裝目錄的(gradle\m2repository\net\sf\proguard\proguard-base)

C:\Program Files\Android\Android Studio\gradle\m2repository\net\sf\proguard\proguard-base

下載Proguard原始碼地址:

https://sourceforge.net/projects/proguard/files/proguard/

 

方法二:(成功)

 

直接在專案的根目錄放入修改過的包,然後進行引入

引入的配置:

 

 

具體混淆工具的修改看 https://mp.weixin.qq.com/s/T8CFMjQ5_te1fIHzwzTpUg

主要的修改檔案主要是這個(proguard.obfuscate)資料夾的

Obfuscator.java

ClassObfuscator.java

SourceFileRenamer.java

混淆名稱的修改

主要是這個SimpleNameFactory.java,  其實實現NameFactory這個介面的,如果重寫一個類可以實現NameFactory這個介面就行了,之後需要替換Obfuscator和ClassObfuscator裡面的SimpleNameFactory為你新寫的類

 

參考:

https://mp.weixin.qq.com/s/T8CFMjQ5_te1fIHzwzTpUg

http://www.jcodecraeer.com/a/anzhuokaifa/Android_Studio/2017/0322/7713.html