Code Obfuscation
Menyulitkan reverse engineering terhadap aplikasi.
Per Platform
| Platform | Tool | Config |
|---|---|---|
| Android | R8 / ProGuard | minifyEnabled true di build.gradle |
| iOS | Bitcode (deprecated), Swift built-in | Otomatis di release build |
| Flutter | --obfuscate --split-debug-info | Build flag |
| React Native | Hermes bytecode | Otomatis dengan Hermes engine |
Android (R8)
// build.gradle.kts
android {
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
}
Flutter
flutter build apk --obfuscate --split-debug-info=build/debug-info
flutter build ios --obfuscate --split-debug-info=build/debug-info
Debug Symbols
Selalu simpan debug symbols / mapping file untuk setiap release agar crash report tetap readable. Upload ke Firebase Crashlytics / Sentry.