※ 본 포스팅은 유니티 버전 2018.4.20(LTS)을 대상으로한 솔루션입니다.
최근 구글 개발자 콘솔이 개편이 되고나서 빌드를 업로드하면 검토과정에서 받을수있는 경고가 눈에 띄었습니다.
경고 내용
이 App Bundle 아티팩트 유형은 네이티브 코드를 포함하며 아직 디버그 기호가 업로드되지 않았습니다.
비정상 종료 및 ANR을 더 쉽게 분석하고 디버그할 수 있도록 기호 파일을 업로드하는 것이 좋습니다.
기존엔 없던 경고여서 확인을 해보니 aab로 빌드를 하면 기호 파일을 따로 업로드 할 필요가 없다고 하는데 aab로 빌드해도 똑같은 경고 메세지를 받았습니다.
어차피 콘솔에서 띄워주는 디버그 관련 정보들은 평소에 확인하지 않아서 그냥 넘길까 했지만 찝찝한 마음에 따로 기호 파일을 올리게 되었습니다.
1. 먼저 Build setting 창에서 Create symbols.zip 버튼을 체크하여 빌드를 하면 aab파일과 symbol압축 파일이 추출됩니다.
2. aab 파일은 기존과 같은 방법으로 업로드 한 뒤, 개발자 콘솔 좌측 항목에 추출 - App bundle 탐색기로 들어갑니다.
(기본적으로 제일 최근에 올린 App bundle로 설정되어있지만 혹시 설정이 잘못되어있다면 우측 상단 Artifact를 눌러 원하는 버전으로 바꾸시면 됩니다.)
3. 설정할 버전이 뜨면 버전 밑에 '다운로드'를 눌러서 스크롤을 제일 밑으로 내리면 '저작물'이라는 카테고리를 확인할 수 있습니다.
4. '저작물' 카테고리의 '네이티브 디버그 기호'에 symbol압축 파일을 업로드하면 완료!
하지만, 여기서 symbol압축 파일을 그대로 올리면 에러 메세지가 뜨게됩니다.
디버그 기호 업로드 용량은 300mb까지 허용하는데 유니티가 뱉어낸 symbol압축 파일은 300Mb가 가볍게 넘어가기 때문이지요...
이 문제도 해결해보겠습니다.
1. symbol압축 파일을 압축 해제합니다.
2. 압축을 풀게되면 'arm64-v8a'와 'armeabi-v7a'폴더가 보이게되는데 각각의 폴더는 3개의 파일을 포함하고있습니다.
3. 각 폴더를 열어서 SO 확장자 파일을 제외하고 전부 지워주세요.
4. 세팅을 완료 했으면 'arm64-v8a'와 'armeabi-v7a' 폴더를 같이 압축하신뒤 업로드를 하게되면 완료!
'Develoment > Google console' 카테고리의 다른 글
(구글 개발자 콘솔 경고) Symbol(기호) 경고 해결법 (17) | 2020.11.17 |
---|
-
지안 2021.08.19 16:53
해결방법에 대한 글 감사합니다.
압축을 풀어보니 각각의 폴더에 있는 3개 파일 모두 SO 확장자 파일입니다.
각 폴더에 200메가 이상의 파일 2개가 있는데 이 2개의 파일을 삭제하면 가능할까요?
^^;;-
구글링 해보니 유니티 포럼에 해당 이슈관련 해결책이 있네요. 저 같은 경우는 해당 포스팅에 적혀있는것처럼 2018버전을 사용해서 확장자가 여러개였는데, 2019버전부터는 전부 SO파일로 뽑혀나오는걸 확인했습니다.
일단 포럼에서 제공하는 해결책은
1. symbol.zip의 압축을 푼다.
2. .dbg.so로 된 파일을 지운다.
3. .sym.so로 된 파일의 확장자 명을 .so로 변경한다.
4. 재압축
으로 안내하고있네요.
해당 관련 포럼글 링크는 https://forum.unity.com/threads/making-android-symbols-package-smaller.1109600/ 입니다. 참고해주세요 :D
혹시나 해결됐다면 답글로 알려주시면 감사하겠습니다 !
-
-
감사합니다. 덕분에 해결했습니다. 마지막 하나 더 경고가 뜨는데요. 아래의 경고는 뭔지 아시나요?
이 App Bundle 유형과 연결된 가독화 파일이 없습니다. 난독화된 코드(R8/proguard)를 사용하는 경우 가독화 파일을 업로드하면 비정상 종료 및 ANR을 더 쉽게 분석하고 디버그할 수 있습니다. R8/proguard를 사용하면 앱 크기를 줄이는 데 도움이 됩니다.-
프로젝트에 프로가드를 사용중이신가요?
아무래도 프로가드가 코드 난독화 처리, 리소스 축소를 하는 툴이다보니 콘솔에서 쉽게 분석이 가능하도록 난독 해제 파일을 요구하는겁니다.
이것 역시 유니티 버전마다 해결법이 다르긴한데, build settings에서 mapping.txt파일을 뽑을 수 있는 옵션을 가진 유니티 버전이 있는 반면 없는 버전도 있습니다.
만약 build settings에서 mapping.txt 파일 관련 옵션이 없으면, (2020.3.1f 기준)빌드 후 프로젝트 폴더/Temp/gradleOut/launcher/build/outputs/mapping/release/mapping.txt로 저장됩니다.
추가로 조사해본 결과, 유니티 버전에 따라 경로에 차이가 있는것으로 조사됐습니다.
제가 알려드릴수 있는건 여기까지네요.
mapping파일이 없다고 앱 출시 심사에 반려를 당하는게 아니니 해당 부분 때문에 큰 걱정을 하실 필요는 없지만, 비정상 종료, ANR을 꼭 확인해야겠다면 따로 구글링을 통해 알아보셔야할것 같습니다.
-
-
-
-
지안 2021.08.29 12:10
Seo_re님, 안녕하세요^^
지난 번에 알려주신 방법(유니티 포럼)으로 진행을 했었는데 저는 실패했습니다.
참고로 에디터는 2020.3 버전입니다.
기호 파일 업로드 팝업창에서 경고 문구가 아래와 같이 뜹니다. 줸장^^;
The native debug symbols contain an invalid directory *****.symbols. Only Android ABIs are supported.