빌드 시, Proguard 설정
Android/Framework&Build 2015. 1. 12. 15:50 |아직 나도 완벽한 정보는 모른다..
하지만 내용을 기록하기 위해 몇 글자 끄적여 본다..
Proguard란,
빌드 된, apk에 대해 디컴파일을 방지하기 위해서
변수나 클래스명을 a, b, c, d와 같이 변경 시켜 빌드 하는 것이다.
빌드 후, getDefaultProguardFile('proguard-android.txt')에 저장을 하여 어떤 클래스가 무슨 변수명으로 바뀌었는지 알수 있다.
아래와 같이
minifyEnabled를 true, false를 통해서 proguard를 on/off 할 수 있다.
다른 Library를 사용할 때, 클래스 명이 바뀜에 따라서 제대로 인식이 안되는 경우도 생길수 있다.
이 같은 경우, minifyEnabled의 값을 true/false바꿔서 테스트 하여 확인할 수 있다.
build.gradle
buildTypes {
debug {
minifyEnabled false
buildConfigField( STRING, KM_FLURRY_API_KEY, '"xxxxxxxxxxxxxxxx"')
buildConfigField( BOOLEAN, KM_LL_D, TRUE )
buildConfigField( BOOLEAN, KM_LL_V, TRUE )
}
release {
minifyEnabled true
shrinkResources false
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField( BOOLEAN, KM_LL_V, FALSE )
}
}
특정 클래스를 proguard 시키고 싶지 않을 떄, 해당 클래스만 proguard 해제 시킬수 있다.
이와 같은 방법으로 해당 문제를 해결 할 수 있다.
프로젝트 아래에
-keep public class com.google.**
위 와 같이... -keep public class 클래스명으로 해당 클래스만 proguard 해제 시킬수 있다.
'Android > Framework&Build' 카테고리의 다른 글
Google I/O 2017 [18일 Sessions] (0) | 2017.05.22 |
---|---|
Google I/O 2017 [17일 Sessions] (0) | 2017.05.22 |
[Android] Image 심기 (Nexus) (0) | 2015.07.28 |
/system/ 읽기 권한 변경 (0) | 2015.03.30 |
파일 속성 바꾸기.. chomd & chown (0) | 2015.03.30 |