2015-10-11
12:18 PM
ProGuard 是 Android 官方提供的防止反編譯工具
原理其實跟 Javascript, CSS 的 YUI Compressor 類似
可以壓縮並混淆程式碼
不管你原本寫得多漂亮都會變成亂七八糟
但請放心, 大部分情況打包後都是可以正常執行的
而在 IntelliJ Idea 中啟用 ProGuard 的方式不太一樣
由於預設是使用 Gradle 作為專案建置自動化工具
因此在專案建立時你會發現
專案結構內找不到任何 project.properties 檔案或是 proguard-project.txt 檔案
而在這類專案內修改的方式其實簡單許多
就是到專案的 build.gradle 內找到 minifyEnabled false 這行
並將 false 修改為 true 即可
程式碼範例
buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
如此一來在打包 release 版本時就會自動啟用 porguard
因為混淆程式碼難免會有一些問題
這時就需要修改混淆的規則, 加入一些例外處理等等
可以到專案底下的 proguard-rules.pro 檔案內修改
各項資料連結
IntelliJ IDEA
Gradle
Android ProGuard
No comments:
Post a Comment