Proguard 程式碼混淆
踏入 Android 開發,雖然早已注意到 proguard 這阻止反編譯的混淆程式碼的作法,可是一點也不擔心有人將自己的 apk 反編譯,因為真的沒什麼好看的,看了還浪費時間。 XD 不過倒是擔心被看到寫那麼爛的 Code,所以還是稍作些了解 proguard 的用法。 Step 1: 打開 app.gradle (專案目錄下 app 裡的 build.gradle) 預設 buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile ( 'proguard-android.txt' ), 'proguard-rules.pro' } } 將 minifyEnabled false 改成 true,表示啟用 proguard proguard-android.txt 是預設的混淆文件,路徑在 ${sdk.dir}/tools/proguard/proguard-android.txt proguard-rules.pro 是在專案目錄下 app 裡,用來設定那些檔案不要混淆的一些設定。 詳細語法可以參考下方連結或是問問 google 大神,這邊就不占版面了。 proguard-rules.pro 裡面常用的 class 就不要混淆了,以免因混淆後找不到相應的 class,造成編譯異常。 以下是常用的 -keep public class * extends Android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.Back...