Android/Java
안드로이드 Proguard 설정
easy-1
2021. 6. 10. 15:54
<개요>
- 소스 코드 난독화
- 불필요한 리소스 축소
<적용 방법>
1. 디버그와 릴리즈 구분하기 위해 proguard-debug.pro 파일 생성
디버그 모드에서는 난독화 진행하지 않음
( 이유 : 디버그 모드도 난독화를 하게되면 클래스명, 라인 등 이 제거되어 디버그가 어려워짐 )
# Begin: Debug ProGuard rules
-dontobfuscate
-keepattributes SoureFile,LineNumberTable
# End: Debug ProGuard rules
2. 디버그와 릴리즈 구분하여 프로가드 설정
buildTypes {
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt')
// 프로가드 설정
proguardFile 'proguard-rules.pro'
// 디버그 프로가드 설정
proguardFile 'proguard-debug.pro'
}
release {
minifyEnabled true // 프로가드 활성화
proguardFile getDefaultProguardFile('proguard-android.txt')
proguardFile 'proguard-rules.pro'
....
}
3. 프로가드 설정으로 인하여 문제가 되는 부분은
proguard-rules.pro 파일에서 따로 설정
ex ) firebase-database 사용 시 proguard-rules.pro 에 해당 코드 추가
-keepclassmembers class com.패키지경로.**{ *; }
<출처>