[unity] 빌드 시 AAPT 오류 해결 방법
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> 문법을 인식하는 것 같다.
댓글