구 시스템 대신 Gradle을 사용하여 Android 프로젝트를 익스포트하도록 한 경우 빌드 오류가 생길 수 있으며, 이는 특히 추가 Android 라이브러리를 사용하거나 커스텀 AndroidManifest.xml 을 추가한 경우 발생할 수 있습니다.
Android Gradle 플러그인은 이전 ADT/Ant 시스템보다 훨씬 더 까다롭습니다. 심볼 중복, 존재하지 않는 리소스 참조, 또는 주 애플리케이션과 동일한 속성을 설정한 라이브러리 프로젝트와 같이 오류로 간주되는 상황을 수용하지 않습니다.
대부분의 경우 문제를 해결하려면 주 파일이든, 프로젝트가 사용하는 라이브러리 파일이든, AndroidManifest.xml 파일을 수정해야 합니다.
단순하지 않은 프로젝트이거나, 아래의 문제 해결 섹션에서 설명된 오류 외의 문제가 발생한 프로젝트의 경우, 프로젝트를 Gradle 프로젝트로 Build Settings에서 익스포트한 후 커맨드 라인에서 빌드합니다. 커맨드 라인에서 빌드하면 자세한 오류 메시지가 출력되며, 변경 시 더 빨리 적용할 수 있게 합니다.
주 파일 또는 라이브러리 내에 있는 AndroidManifest.xml 파일이 존재하지 않는 리소스를 참조하는 경우입니다. 간혹 라이브러리가 설정한 애플리케이션 아이콘이나 레이블 문자열이 원인인 경우가 있습니다. 이 문제는 이러한 참조를 제거하지 않은 상태에서 주 매니페스트 파일을 라이브러리 프로젝트에 복사한 경우 발생합니다.
이들 속성을 Android Manifests에서 제거합니다. 보통 라이브러리의 속성을 제거하면 됩니다.
android:minSdkVersion
속성은 AndroidManifest.xml
파일에 지정되어 있습니다. 메인 매니페스트 파일에 있거나, Unity가 Android 라이브러리로 취급하는 디렉토리 중 하나의 파일에 있을 수 있습니다. .aar 플러그인은 이 문제를 유발하지 않아야 합니다.
해결 방법은 메인 매니페스트 및/또는 라이브러리 디렉토리의 매니페스트에서 uses-sdk android:minSdkVersion
요소를 제거하는 것입니다. 대신 build.gradle
파일에 최소 SDK 버전을 지정해야 합니다. 커스텀 Gradle 템플릿이 없으면 Unity가 이 작업을 자동으로 처리합니다. 커스텀 Gradle 템플릿이 있으면 minSDK가 템플릿의 defaultConfig
섹션에 지정되어 있는지 확인하십시오.
주 애플리케이션과 라이브러리 프로젝트, 또는 라이브러리 프로젝트 간 파일 이름 충돌이 발생한 경우입니다. 모든 파일이 동일한 APK 패키지에 복사된다는 점을 기억하십시오.
중복된 파일 중 하나를 제거해야 합니다.
라이브러리는 동일한 Java 패키지를 주 애플리케이션이나 다른 라이브러리에 사용할 수 없습니다.
일반적으로 라이브러리의 패키지 이름을 다르게 변경해야 합니다. 라이브러리에 다수의 코드가 포함되어 있으면 주 패키지 이름을 변경하는 것이 쉬울 수도 있습니다(Player 설정에서).
라이브러리가 주 파일(AndroidManifest.xml
)의 속성을 자유롭게 오버라이드할 수 없는 경우입니다. 이 오류는 위의 Resource not found 오류와 비슷하게, 라이브러리에 애플리케이션 아이콘이나 레이블 스트링 설정으로 인해 자주 발생합니다.
해당 속성을 라이브러리에서 제거하거나, application 태그에 tools:replace 속성을 추가하여, 병합 충돌이 해결되는 방식을 표시합니다.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.