개인 앱이면 그냥 난독화 처리 하지 않고, 그냥 올려도 되는데
회사 앱이면 난독화 설정을 하라는 미션이 내려온다 ^^;;
일단 안드로이드 스튜디오에서 난독화 설정
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 |