android開發之 混淆編譯

2021-06-14 18:54:02 字數 1214 閱讀 1849

眾所周知,android的apk檔案是非常容易被反編譯的,這樣對於開發者來說,辛辛苦苦開發應用被破解是一件很令人懊惱的事情,谷歌也認識到了這一點,所以從2.3之後就為開發者提供了乙個**混淆工具proguard,新版的adt建立的工程預設都會有多兩個**混淆檔案。

proguard.cfg就是傳說中的混淆指令碼了,具體內容如下:

-optimizationpasses 5

-dontusemixedcaseclassnames

-dontskipnonpubliclibraryclasses

-dontpreverify

-verbose

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-keepclasseswithmembernames class *

-keepclasseswithmembers class *

-keepclasseswithmembers class *

public void *(android.view.view);

}-keepclassmembers enum *

-keep class * implements android.os.parcelable

如果你的專案引入了谷歌的額外支援包support(例如 android-support-v4.jar),你可以在指令碼新增一句

-dontwarn android.support.**

如果你的專案有第三方支援包,那麼可以參照如下格式新增到上邊的指令碼中:

-libraryjars libs/base64coder.jar

好了,配置好以上檔案指令碼就算完工了,剩下的工作就是要指令碼生效,預設混淆是不開啟的,需要在project.properties檔案中新增一句proguard.config=proguard.cfg

即可生效;

最後通過匯出並簽名,你的apk就成功混淆了,下邊是效果圖:

Android混淆編譯

1.android studio gradle android android studio會同時使用預定義 預設 的混淆編譯規則和自定義的混淆規則 在proguard rules.pro檔案中 android proguard doc thegetdefaultproguardfile progu...

android混淆和反編譯

buildtypes 這個proguard android.txt是sdk中groguard預設的檔案,具體位址在 opt sdk tools proguard proguard android.txt 而proguard rules.pro是as中專用的proguard配置檔案,其實只是字尾名不同...

android混淆和反編譯

buildtypes 這個proguard android.txt是sdk中groguard預設的檔案,具體位址在 opt sdk tools proguard proguard android.txt 而proguard rules.pro是as中專用的proguard配置檔案,其實只是字尾名不同...