Android Studio

난독화 처리 및 매핑 파일

오마로 2017. 3. 11. 10:44
반응형


개인 앱이면 그냥 난독화 처리 하지 않고, 그냥 올려도 되는데

회사 앱이면 난독화 설정을 하라는 미션이 내려온다 ^^;;


일단 안드로이드 스튜디오에서 난독화 설정


build.gradle(Module:app)에서의 설정


apply plugin: 'com.android.application'

android {
compileSdkVersion 25
buildToolsVersion "25.0.0"

/* minSdkVersion 14(4.0.3)에서 facebook api로 인해서 15로 변경
* targetSdkVersion 22에서 25로 변경
* */
defaultConfig {
applicationId "kr.co.goms.fxcamera"
minSdkVersion 15
targetSdkVersion 25
versionCode 35
versionName "2.0.6"
multiDexEnabled true
}

dexOptions{
jumboMode true
javaMaxHeapSize = "4g"
preDexLibraries = false
}

lintOptions {
disable 'MissingTranslation'
}

sourceSets {
main {
jniLibs.srcDir 'jniLibs'
assets.srcDirs = ['src/main/assets']
}
}

//난독화 처리 minifyEnabled true
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

packagingOptions {
exclude 'META-INF/ASL2.0'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/MANIFEST.MF'
}


buildTypes > release  에서 아래와 같이 처리하면 된다

//난독화 처리 minifyEnabled true
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}


그럼, release 할 때 난독화처리가 된다.

난독화 예외처리에 대한 것은  proguard-android.txt에서 설정하면 된다.


그런데, 실제 앱 운영을 하면서 사용자앱에서 버그발생 시,  report가 난독화된 부분이 콘솔에 날라온다. ^^;


예전에는 없었는데, 최신 개발자콘솔에서 매핑파일을 올리라는 부분이 생겼다. 

즉, 난독화 해제 파일을 올려서, report가 정상적으로 보이게 처리하는 부분이다.


개발자 콘솔 > 자신의 프로젝트 > 비정상 종료 및 ANR > 난독 해제 파일




마지막으로 release 버전의 난독화 매핑파일은 어디에????


자신의 프로젝트의 빌드폴더 > outputs > mapping > release > mapping.txt 파일을 찾아서 올려주면 끝.....

ex. GomsFxCamera\app\build\outputs\mapping\release\mapping.txt


그럼. 난독화도 되고, 리포트도 정상적으로 보일 것이다 ^^

반응형

'Android Studio' 카테고리의 다른 글

Gradle > buildTypes 설정  (0) 2024.02.13
GitHub First Commit 하기  (0) 2023.07.20
Firebase 연동  (0) 2017.03.20