본문 바로가기

[unity] 빌드 시 AAPT 오류 해결 방법

앤디가이 2022. 8. 19.

unity 빌드 시 AndroidManifest.xml:39: AAPT: error: unexpected element <queries> found in <manifest> 와 같은 오류 메시지를 해결하는 방법을 알아보자.

 

GoogleMobileAds-v7.1.0 버전을 설치 후 AndroidResolve를 진행한 후 빌드를 실행한 결과

AndroidManifest.xml:39: AAPT: error: unexpected element <queries> found in <manifest> 에러게 발생되었다.

 

유니티 에러 로그

* What went wrong:
Execution failed for task ':launcher:processReleaseResources'.
> Android resource linking failed
  /Users/****/Documents/Project/AnimalSoccer/unity/****/Temp/gradleOut/launcher/build/intermediates/merged_manifests/release/AndroidManifest.xml:39: AAPT: error: unexpected element <queries> found in <manifest>.

 

AAPT 에러 원인

Admob에서 사용하는 Android 라이브러리 파일과 현재 빌드 Gradle 버전이 안 맞아서 발생하는 현상이다.

Unity 2018, 2019에서는 Gradle 3.4.0 버전을 사용하는데 이 버전에서는 <queries> 를 인식하지 못한다.

 

AAPT 에러 수정 방법

아래와 같이 유니티가 설치된 장소로 이동한 후 baseProjectTemplate.gradle 파일을 스크립트 Editor에서 열어주자.

 /Applications/UnityHub/2019.4.33f1/PlaybackEngines/AndroidPlayer/Tools/GradleTemplates/baseProjectTemplate.gradle

classpath의 3.4.0 버전을 3.4.3으로 수정한 후 저장해준다.

classpath 'com.android.tools.build:gradle:3.4.3'

저장 후 다시 유니티 빌드를 해보면 해당 오류가 없어진 걸 확인할 수 있다.

Gradle 3.4.3 이상부터 <queries> 문법을 인식하는 것 같다. 

댓글