반응형

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


구글 플레이 업로드를 위해 안드로이드 빌드를 하던중 갑자기 에러를 발견하게 된다.

 

com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed

 

하루 전까지만 해도 잘 되던 빌드가 위와 같은 에러가 뜨면서 진행되지를 않는다.

처음보는 에러에 검색을 해봤지만.. 유니티에서 문제가 된 사람은 거의 없던건지, 잘 못찾았던건지 안드로이드 스튜디오에서 작업한 사람의 문의글로 가득한 페이지를 보면서 이것저것 따라해보기 시작했다.

 


시도 1) 안드로이드 스튜디오 업데이트

 

2018 버전으로 작업한 프로젝트이기에 유니티에서 제공하는 SDK를 사용하지 않고 안드로이드 스튜디오에서 받은 SDK를 사용중이라 시도를 해봤다.

 

안드로이드 스튜디오 몇몇 버전이 AAPT2라는게 기본적으로 사용되어진다고 해서 최신버전으로 바꾸거나 AAPT2를 비활성화 하라는 내용인데, Unity에 대한 설명이 아니라서 일단 안드로이드 스튜디오를 최신버전으로 변경후 빌드를 시도해봤다.

 

결과 : 실패


시도 2) .android .gralde 폴더 제거

 

이 시도는 스택오버플로우에서 보게된것인데, 위의 폴더를 제거하면 빌드가 된다고하는 내용이었다.

※ 위의 폴더들은 C:\Users\UserName 폴더 안에 존재한다.

 

.android, .gradle 폴더 삭제후 빌드를 시도해봤다.

 

결과 : 실패


시도 3) mainTemplate.gradle 설정

 

이 시도는 gradle 버전을 수정하여 해결하는 방법이다.

 

유니티 Build setting - Publishing setting에 Main gralde template를 체크해주면 플러그인 폴더에 mainTemplate 파일이 생성된다.

 

해당 파일을 열면 dependencies 항목에 다음과 같이 적혀있다.

dependencies {
        classpath 'com.android.tools.build:gradle:3.4.0'
**BUILD_SCRIPT_DEPS**}
}

필자의 경우엔 위와 같이 gradle 버전이 3.4.0으로 되어있었는데, 해당 부분을 3.3.2로 변경후 저장, 빌드를 시도해봤다.

 

결과 : 성공

 


급하게 해결해야 했던 상황이라, 왜 저게 되는건지 자세한 사항은 파악하지 못했지만.. 일단 무사히 빌드가 되는것에 안도하고 위기를 넘기게 되었다.

 

자세한 사항은 추후 파악 후 서술할 예정.

반응형
반응형

※ 본 포스팅은 유니티 버전 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' 폴더를 같이 압축하신뒤 업로드를 하게되면 완료!

 

 

 

 

반응형
반응형

※ 본 포스팅은 유니티 2019버전 솔루션입니다.


 

유니티 IAP 테스트 중, 처음보는 오류를 봤습니다.

 

결제를 진행할 때, 결제가 진행되지 않고 로그에 Missing method UnityEngine.VR.VRSettings.enabled ~ 라고 뜨는 현상입니다. 구글링 해보니 IAP update가 진행되지 않아 생긴현상이었습니다.

 

IAP update를 따로 진행하려고 해도 update시도조차 못하게 비활성화 되어있더군요.

포럼에서 찾아본 결과, 유니티 설치 경로에 공백이 있으면 IAP update 진행이 안된다고 합니다.

 

유니티의 기본 설치경로 중 c:\Program files\... 의 공백이 원인이었습니다.

경로를 바꿔서 재설치를 진행한 후, IAP update가 문제없이 진행됐고 정상적으로 IAP가 진행됐습니다!

 


 

 

※ 위와 같이 설치 경로를 공백이 없는 폴더명으로 해주시면 됩니다.

※ 위에서도 언급했듯이 유니티 2019버전 대상으로한 솔루션입니다. 다른 버전도 해당하는 부분인지는 모르겠습니다.

 

 

 

 

 

반응형

+ Recent posts