안드로이드 minifyEnabled 속성에 대한 메모

Programming 2018. 9. 3. 15:06

android {

buildTypes {

release {

minifyEnabled true

shrinkResources true

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}
}


위는 안드로이드 소스의 난독화를 위해 build.gradle에 입력하는 소스코드이다.

minifyEnabled는 소스 난독화의 동작에 관여하는 속성이 아니라, 앱의 패키징 시 사용하지 않는 리소스를 자동으로 제거할지 말지를 결정하는 것이다. 단독으로 사용되지 않으며 shrinkResources속성과 함께 사용되어야 한다.


이 소스에 따라 난독화가 수행되면 디렉토리 구조가 꽤나 복잡하게 나오며, smali확장자를 가진 파일들이 산출물로 생성된다. 그리고 하나의 자바 소스 파일이 여러개의 파일로 분할되어서 나온다. 말그대로 난독화다.



'Programming' 카테고리의 다른 글

스위프트와 코틀린 null 관련하여  (0) 2018.09.13
라이브러리, API, SDK, 프레임워크에 대해서  (0) 2018.09.13
스위프트 문법 정리 1  (0) 2018.08.23
하이퍼바이저, Xen, KVM  (0) 2018.05.19
OSI 7 계층 정리  (0) 2018.05.19
admin