본문 바로가기
Flutter

[Flutter] 구글스토어 배포시 디버그 기호 업로드

by whoyoung90 2024. 8. 15.
반응형

> 이슈

app-release.aab를 추출하여

구글 플레이 콘솔에 프로덕션 버전을 만드는 도중 오류, 경고 메시지가 떴다. (디버그 기호 파일 업로드)

이 App Bundle 아티팩트 유형은 네이티브 코드를 포함하며 아직 디버그 기호가 업로드되지 않았습니다.
비정상 종료 및 ANR 을 더 쉽게 분석하고 디버그할 수 있도록 기호 파일을 업로드하는 것이 좋습니다

> 해결

아래 경로로 이동하여 x86_64, arm64-v8a, armeabi-v7a 해당 폴더들을 함께 압축한다.

[플러터 프로젝트]/build/app/intermediates/merged_native_libs/release/out/lib

 

이름은 크게 중요하지 않고

압축한 merged_native_libs.zip 파일을 구글 콘솔에 업로드해 주면 된다.

구글 콘솔에서 해당 프로젝트로 이동 후 왼쪽 메뉴 중 App Bundle 탐색기를 실행하고

릴리스할 버전 오른쪽 끝에 있는 화살표를 클릭하자.

 

다운로드 탭으로 이동하여 네이티브 디버그 기호 오른쪽에 있는 [업로드 화살표]를 클릭하고

merged_native_libs.zip을 업로드하면 해당 경고 메시지는 사라진다!

> 추가 이슈 (240813 업데이트)

23년 SDK 33버전을 배포할 당시 위와 같은 방법으로 완료했었는데,

24년 SDK 34버전을 배포하면서 디버그 기호 파일 업로드시 아래와 같은 오류가 나타났다.

The native debug symbols contain an invalid directory __MACOSX. Only Android ABIs are supported.

 

__macosx의 경우 lib파일들을 맥에서 압축할 때 맥의 불필요한 디렉토리가 포함되면서 발생하며

zip파일 안에 있는 해당 맥 디렉토리를 지워주면 된다고 한다.

 

터미널에서 cd로 해당 zip파일이 있는 디렉토리로 이동하여 아래 명령어 입력한다.

 

m1, m2 zsh 쉘의 경우

나는 zip -d merged_native_libs.zip "__MACOSX*" 입력

$ zip -d 압축파일명.zip "__MACOSX*”

 

bash 쉘의 경우

zip -r 압축파일명.zip -х "*/\._MACOSX*" lib/*

 

그러면 자동으로 해당 폴더의 맥 디렉토리를 지워준다.

그 후 다시 업로드하면 정상적으로 업로드된다!

 

 

[참조 URL]

https://blog.naver.com/chandong83/223034652013

https://dailyfy.tistory.com/entry/the-native-debug-symbols-contain-an-invalid-directory-macosx-only-android-abis-are-supported

반응형

댓글