안드로이드 앱을 다 만들고, 출시를 하려고 하는데 잊지말아야 하는 것이 있습니다.
바로 Log를 제거하는 것인데요.
이것을 제거하지 않은 앱의 로그는, 안드로이드 스튜디오의 Logcat에서 볼 수 있게 되는데요.
민감한 정보나, 네트워크상의 중요한 정보들이 나오면 않되므로,
중요한 정보와 관련된 Log는 꼭 제거해야 합니다.
오늘은 직접 모든 줄을 찾아서 제거하지 않고 안드로이드 스튜디오를 이용해서 제거하는 방법에 대해서 정리해 보도록 하겠습니다.
1. ProguardFiles 설정
제일 먼저 할 것은, minifyEnabled 를 true로 해서, proguard를 사용할 수 있도록 하구요.
'proguard-android.txt' 로 되어있는 getDefaultProguardFile을,
'proguard-android-optimize.txt' 로 변경해 줍니다.
기존의 getDefaultProguardFile'(proguard-android.txt') 가 tools/proguard/ 폴더에서 기본 ProGuard 설정을 가져오는 역할을 했었는데요.
더 많은 코드 축소를 통해서 APK의 크기를 줄이고 더 빨리 실행되게 하는 경우에 proguard-android-optimize.txt 파일을 사용하는데요.
바이트코드 수준에서 분석을 수행하는 다른 최적화기능도 포함되어 있습니다.
바로 이 파일로 바꾸어 주어서 log파일까지도 제거되도록 하는 것인데요.
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
물론 위의 설정 만으로는 끝나지 않습니다.
한 단계가 더 남아있는데요, 아래에서 정리하겠습니다.
2. proguard-rules.pro 수정
안드로이드 스튜디오에서, proguard-rules.pro 파일을 navigation창에서 찾아서 열구요.
아래와 같이 추가해 주면 됩니다.
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
}
위의 부분을 추가하고나서,
Build>Generate Signed APK를 해주면 로그가 제거된 빌드를 얻을 수 있습니다.
(Generate Signed APK와 관련한 구체적인 사항은 이글에서는 다루지 않겠습니다~)
받은 빌드를, Google PlayStore에 제출해 주면,
로그가 다른 개발자에게 노출되는 일을 막을 수 있게 됩니다.
'Android 개발 > PlayStore & 출시' 카테고리의 다른 글
데이터보안 양식 잘못됨 SPLIT_BUNDLE 13 정책 선언 # Google Play (0) | 2023.04.14 |
---|---|
안드로이드앱 내부배포시 Play 프로텍트 문제 해결 # 내부 테스트 (0) | 2020.10.08 |
GooglePlay 앱서명(app signing)으로 HashKey 만들기 (0) | 2017.09.12 |
ProGuard Rules 정리 (Retrofit & OkHttp, JSoup, GSon, RxJava, Glide etc) (0) | 2017.07.08 |
com.android.dex.DexIndexOverflowException 대처하기 (1) | 2017.07.05 |
앱 설치시 바로가기 아이콘 설치 구현 (0) | 2017.07.02 |
Android 앱 내에서 구글플레이 상세보기로 이동 링크 (0) | 2017.01.01 |
Android 마켓에 출시된 앱 업데이시 App 버전 관리 (2) | 2017.01.01 |
댓글