Android 앱 매니페스트
Introduces Unity Library Manifests and explains how Unity uses them to generate the final Android App Manifest for an application.
읽는 시간 2분최근 업데이트: 한 달 전
Android 앱 매니페스트에는 Android 애플리케이션에 대한 정보가 포함되어 있습니다. 각 애플리케이션에는 이라는 소스 세트의 루트에 Android 앱 매니페스트 XML 파일이 하나 있습니다. Android 운영 체제 및 디지털 배포 서비스(예: Google Play)는 Android 앱 매니페스트를 사용하여 애플리케이션의 이름, 애플리케이션의 엔트리 포인트, Android 버전 지원, 하드웨어 기능 지원, 애플리케이션 권한과 같은 정보를 찾습니다. Android 앱 매니페스트 파일에 대한 자세한 내용과 구성하는 설정 목록은 Android 앱 매니페스트에 대한 Android 개발자 기술 자료를 참조하십시오.
AndroidManifest.xml애플리케이션을 나타내는 Android 앱 매니페스트를 생성하기 위해 Gradle은 소스가 다양한 매니페스트 파일을 병합합니다. 이 경우는 다음과 같습니다.
- Unity 라이브러리 매니페스트: Unity가 생성하는 매니페스트 파일로, Unity 플레이어 활동을 설정합니다. 자세한 내용은 Unity 라이브러리 매니페스트를 참조하십시오.
- Unity 런처 매니페스트: Unity가 생성하는 매니페스트 파일로, Unity 라이브러리를 래핑하는 애플리케이션을 설정합니다. 자세한 내용은 Unity 런처 매니페스트를 참조하십시오.
- 플러그인 매니페스트: AAR(Android 아카이브) 또는 Android 라이브러리 프로젝트와 같은 플러그인을 나타내는 매니페스트 파일입니다.
Unity에서 이러한 매니페스트 파일을 사용하여 Android 앱 매니페스트를 생성하는 방법에 대한 내용은 Android 앱 매니페스트 생성을 참조하십시오.
Android 앱 매니페스트 생성
Android 애플리케이션 빌드 프로세스에서는 애플리케이션용 Android 앱 매니페스트 파일이 생성됩니다. 이 작업을 수행하는 방법은 다음과 같습니다.
- Unity는 Unity 라이브러리 매니페스트를 Android 앱 매니페스트의 템플릿으로 사용합니다. Unity 라이브러리 매니페스트를 오버라이드하는 경우 Unity는 지정한 파일을 템플릿으로 사용합니다.
- Unity는 애플리케이션이 사용하는 권한, 설정 옵션, 기능과 같은 정보로 Unity 라이브러리 매니페스트 파일과 Unity 런처 매니페스트 파일을 업데이트합니다.
- Gradle은 Unity 라이브러리 매니페스트, Unity 런처 매니페스트, 플러그인 매니페스트를 Android 앱 매니페스트 파일 하나로 병합합니다.
Android Studio APK 분석기나 Apktool 같은 다른 타사 툴을 사용하여 출력 AAB(Android 앱 번들)이나 APK(Android 패키지) 안에 있는 Android 앱 매니페스트 파일을 볼 수 있습니다.
중요: APK 또는 AAB의 Android 앱 매니페스트 파일은 편집할 수 없습니다. Android 앱 매니페스트의 콘텐츠를 오버라이드하는 방법에 대한 자세한 내용은 Gradle 프로젝트 파일 수정을 참조하십시오.
권한
Unity는 Android Player 설정과 C# 스크립트에서 애플리케이션이 호출한 Unity API에 따라 매니페스트에 필수 권한을 자동으로 추가합니다. 예시:
-
다음 클래스, 패키지, Player 설정은권한을 추가합니다.
INTERNET- 개발 빌드를 위해 Android Player 설정에서 Internet Access를 Require로 설정
- UnityWebRequest 및 Ping 클래스
- System.Net.Sockets API
- Cloud Diagnostics 패키지의 Unity Analytics 패키지와 Crash and Exception Reporting
-
진동(예: Handheld.Vibrate)을 사용하면가 추가됩니다.
VIBRATE -
InternetReachability 프로퍼티는를 추가합니다.
ACCESS_NETWORK_STATE -
위치 관련 API(예: LocationService)는을 추가합니다.
ACCESS_FINE_LOCATION -
WebCamTexture API는를 추가합니다.
CAMERA -
Microphone 클래스는를 추가합니다.
RECORD_AUDIO
플러그인에 해당 매니페스트에 선언된 권한이 필요한 경우 Unity는 Gradle 병합 단계에서 최종 Android 앱 매니페스트에 권한을 자동으로 추가합니다. Unity는 플러그인이 사용하는 모든 Unity API를 권한 목록에 포함합니다.
Android 앱 매니페스트에서 권한을 지정하는 대신 Android 런타임 권한 시스템을 사용하여 런타임 시 권한을 요청할 수 있습니다.
권한에 대한 자세한 내용은 Android 앱 매니페스트 권한에 대한 Android 개발자 기술 자료를 참조하십시오.