반응형

※ 본 포스팅은 유니티 버전 2018.4.20(LTS)을 대상으로한 솔루션입니다.


최근 구글 개발자 콘솔이 개편이 되고나서 빌드를 업로드하면 검토과정에서 받을수있는 경고가 눈에 띄었습니다.

 

 

Symbol 경고 메세지

경고 내용

 

이 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' 폴더를 같이 압축하신뒤 업로드를 하게되면 완료!

 

 

 

 

반응형
  1. 지안 2021.08.19 16:53

    해결방법에 대한 글 감사합니다.

    압축을 풀어보니 각각의 폴더에 있는 3개 파일 모두 SO 확장자 파일입니다.
    각 폴더에 200메가 이상의 파일 2개가 있는데 이 2개의 파일을 삭제하면 가능할까요?
    ^^;;

    • Seo_re: 2021.08.19 18:38 신고

      구글링 해보니 유니티 포럼에 해당 이슈관련 해결책이 있네요. 저 같은 경우는 해당 포스팅에 적혀있는것처럼 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

      혹시나 해결됐다면 답글로 알려주시면 감사하겠습니다 !

  2. 지안 2021.08.19 20:33

    친절한 답변 감사합니다.
    알려주신 내용으로 적용해 보겠습니다.
    피드백 당연히 드리겠습니다.
    편안한 저녁 시간되세요^^

  3. 개양반 2021.08.23 17:19 신고

    감사합니다. 덕분에 해결했습니다. 마지막 하나 더 경고가 뜨는데요. 아래의 경고는 뭔지 아시나요?

    이 App Bundle 유형과 연결된 가독화 파일이 없습니다. 난독화된 코드(R8/proguard)를 사용하는 경우 가독화 파일을 업로드하면 비정상 종료 및 ANR을 더 쉽게 분석하고 디버그할 수 있습니다. R8/proguard를 사용하면 앱 크기를 줄이는 데 도움이 됩니다.

    • Seo_re: 2021.08.23 18:00 신고

      프로젝트에 프로가드를 사용중이신가요?
      아무래도 프로가드가 코드 난독화 처리, 리소스 축소를 하는 툴이다보니 콘솔에서 쉽게 분석이 가능하도록 난독 해제 파일을 요구하는겁니다.

      이것 역시 유니티 버전마다 해결법이 다르긴한데, build settings에서 mapping.txt파일을 뽑을 수 있는 옵션을 가진 유니티 버전이 있는 반면 없는 버전도 있습니다.

      만약 build settings에서 mapping.txt 파일 관련 옵션이 없으면, (2020.3.1f 기준)빌드 후 프로젝트 폴더/Temp/gradleOut/launcher/build/outputs/mapping/release/mapping.txt로 저장됩니다.

      추가로 조사해본 결과, 유니티 버전에 따라 경로에 차이가 있는것으로 조사됐습니다.

      제가 알려드릴수 있는건 여기까지네요.
      mapping파일이 없다고 앱 출시 심사에 반려를 당하는게 아니니 해당 부분 때문에 큰 걱정을 하실 필요는 없지만, 비정상 종료, ANR을 꼭 확인해야겠다면 따로 구글링을 통해 알아보셔야할것 같습니다.

    • 개양반 2021.08.23 18:07 신고

      아하.. 뭐가 뭔지 모르겠지만 답변 감사합니다.

    • Seo_re: 2021.08.23 18:15 신고

      아 추가로 만약 mapping.txt파일을 찾으셨다면 올리는 곳은 본문 내용에 적힌 '저작물' 카테고리에 올리는 곳이 있습니다. 참고해주세요 :)

  4. 개양반 2021.08.23 18:30 신고

    아하 감사합니다!!

  5. 익명 2021.08.26 10:08

    비밀댓글입니다

    • 익명 2021.08.26 11:52

      비밀댓글입니다

  6. 익명 2021.08.26 13:35

    비밀댓글입니다

    • 익명 2021.08.26 13:58

      비밀댓글입니다

    • 익명 2021.08.26 15:20

      비밀댓글입니다

  7. 임진왜란 창의록 2021.08.27 17:37 신고

    엄청 많은 도움이 되었습니다.
    감사합니다. 덕분에 많이 헤매지 않고 처리 했어요!!

    혹시 잊을까봐, 포스팅 내용 일부를 제 홈페이지 게시판에 인용 좀 합니다.
    https://zemsoft.net/dev/1257

    다시한번 감사 드립니다.

  8. 지안 2021.08.29 12:10

    Seo_re님, 안녕하세요^^
    지난 번에 알려주신 방법(유니티 포럼)으로 진행을 했었는데 저는 실패했습니다.
    참고로 에디터는 2020.3 버전입니다.

    기호 파일 업로드 팝업창에서 경고 문구가 아래와 같이 뜹니다. 줸장^^;

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

    • Seo_re: 2021.08.29 12:45 신고

      좀 더 찾아보니 libil2cpp.so 파일만 있으면 된다고 하네요. libunity.so 파일도 지워서 올려보시겠어요?

    • 지안 2021.08.29 16:49

      와~~ 감사합니다^^ 다음 빌드 때 한 번 시도해 보겠습니다. 피드백 다시 드릴게요. 편안한 시간 되십시오^^

+ Recent posts