구글 플레이 콘솔을 통해 Android 앱을 Play Store에 등록하는 과정에서, 위와 같은 경고 오류를 만날 수 있다.
해당 문제는 앱을 소비자가 사용하는 것에는 이상이 없으나,
난독화된 코드로 앱이 등록이 되었기 때문에, 오류가 발생했을 경우 개발자가 디버깅이 어려울 수 있다는 경고다.
따라서, 난독화된 코드를 해석할 수 있는 가독화 파일을 업로드하라는 의미이다.
R8/proguard 의 표기는, 난독화 방식은 R8이나 proguard를 활용하여 진행이 되기 때문에, 위 두가지 방식 중의 하나로 난독화가 된 경우, 그 난독화 시킨 방식과 관련된 가독화 파일을 업로드 하는 것이다.
가독화 파일 생성하기
가독화 파일은 bundle을 생성하는 과정에서 얻을 수 있는데, 설정을 변경해주어야 한다.
React Native의 Android 기준으로 보면 다음과 같다.
android/app/build.gradle 파일의 buildTypes -> release에 minifyEnabled를 true로 설정해주면
release파일 빌드시 android/app/build/outputs/mapping/release/ 경로에
configuration.txt, mapping.txt, seeds.txt, usage.txt 파일들이 생기게 되고,
mapping.txt 파일을 업로드해주면 된다.
def enableProguardInReleaseBuilds = true
...
buildTypes {
debug {
signingConfig signingConfigs.debug
}
release {
// Caution! In production, you need to generate your own keystore file.
// see https://reactnative.dev/docs/signed-apk-android.
signingConfig signingConfigs.release
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
나의 프로젝트의 경우, minifyEnabled가 enableProguardInReleaseBuilds 변수를 받아서 설정되어 있으므로 위와 같이
enableProguardInReleaseBuilds 값을 false에서 true로 변경해주었다.
이제 구글 Play Console에 mapping.txt 파일을 업로드해주자
App Bundle 탐색기 -> 앱 버전 선택 -> 다운로드 -> ReTract 매핑 파일 업로드
위와 같이 업로드 해주고 대시보드를 확인하면 경고 문구가 사라진 것을 확인 가능
예시 커밋
https://github.com/Junanjunan/gnuboard_react_native/commit/6c63048dc545fac994bc669b6715aba524a02ceb