Search

IntelliJ IDEA - 在 Android Gradle 專案啟用 ProGuard

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