proguard程式碼混淆
阿新 • • 發佈:2018-11-20
1、proguard到底是什麼
Proguard工具是用來壓縮,優化,混淆我們的程式碼,主要作用是可以移除程式碼中的無用類,欄位方法和屬性是可以混淆。是對於即將要釋出出去的app進行重新組織和處理。使程式碼不容易被反編譯,即使反編譯成功也很難讀懂程式碼的意義。
2、Proguard技術的功能
1、壓縮:在打包的時候通過proguard檢查並移除我們程式碼中沒有用到的類、欄位、屬性。在開發過程中有可能用到別人開發過的業務模組,在有些沒有用到的類或者程式碼時如果把它刪掉的話又怕以後開發會用到。這時proguard就可以把無用的類刪掉同時又不影響開發。
2、優化:對Javac編譯好的位元組碼檔案進行優化,他會移除那些無用的本地class裡面的那些指令。
3、混淆:比如使用1234abcd之類的無意義命名,這樣類或者欄位方法有可能會重名,這時即使app被反編譯,別人也很難讀懂。他會把程式碼中有意義的名詞變成無意義的名詞。
4、預檢測:java平臺上對處理後的程式碼再次進行檢測。
EntryPoint:可以理解成是一種標記。是Proguard過程中不會被處理的類或方法,在proguar進行壓縮的時候,會在EntryPoint類中搜索出哪些類和成員在使用。這個標記就是配置我們不希望混淆的類或者方法。