본문 바로가기

Android

Android 배포: 이 App Bundle 유형과 연결된 가독화 파일이 없습니다. 난독화된 코드(R8/proguard)를 사용하는 경우.. # Play Console # 경고 해결하기

728x90
반응형

 

구글 플레이 콘솔을 통해 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

728x90
반응형