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