proguard by android studio
TRANSCRIPT
根據不知何來的數據顯⽰示
❖ No proguard❖ 有⼼心⼈人取得程式碼只要幾秒幾分鐘
❖ After proguard❖ 有⼼心⼈人取得程式碼也只要幾秒幾分鐘
❖ 但他們看不懂這該死的程式碼到底在寫什麼
❖ 不過謠傳聽說強⼒力⼈人⼠士依然能破解,只是會花上數個⼩小時甚至幾天
app.gradlebuildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
demo {
signingConfig signingConfigs.debug
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
proguard-rules.pro# OrmLite uses reflection
-keep class com.j256.**
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }
-keep class com.nostra13.universalimageloader.**{ *; }
proguard-rules.pro# FACEBOOK uses
-keep class com.facebook.**
-keepclassmembers class com.facebook.** { *; }
# Parse uses
-keep class com.parse.**
-keepclassmembers class com.parse.** { *; }
app.gradlebuildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
demo {
signingConfig signingConfigs.debug
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
app.gradlebuildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
demo {
signingConfig signingConfigs.debug
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
延伸閱讀
APK 加密⽅方法共四篇(內有殘體中⽂文不喜歡者請略過)
1. android apk 防⽌止反編譯技術(1)-加殼技術
2. android apk 防⽌止反編譯技術(2)-運⾏行時修改Dalvik指令
3. android apk 防⽌止反編譯技術(3)-加密
4. android apk 防⽌止反編譯技術(4)-對抗JD-GUI