개발/안드로이드
[안드로이드] 코드 난독화를 위해 R8 적용하기
Kyumpany
2020. 3. 17. 09:50
코드 난독화의 목적은 아래와 같습니다.
- 앱 바이너리를 decompile 하더라도 코드 정보의 논리적 해독 불가
- 코드의 용량 감소
- Method signature가 단순화 됩니다.
R8을 적용하면 코드 난독화를 아주 쉽게 적용할 수 있습니다.
1. gradle.properties 수정
android.enableR8=true android.enableR8.fullMode=true |
2. app/build.gradle 수정
buildTypes { debug { debuggable true minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } release { debuggable false // Enables code shrinking, obfuscation, and optimization for only // your project's release build type. minifyEnabled true // Enables resource shrinking, which is performed by the // Android Gradle plugin. shrinkResources true // Includes the default ProGuard rules files that are packaged with // the Android Gradle plugin. To learn more, go to the section about // R8 configuration files. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } |