유니티(Unity) 안드로이드 메니페스트 파일(AndroidManifest.xml)

유니티(Unity) 안드로이드 메니페스트 파일(AndroidManifest.xml)

안드로이드 메니페스트

안드로이드 메니페스트는 Android 애플리케이션의 필수 구성 파일입니다. 이 파일은 애플리케이션의 필수 정보, 구성 요소, 권한, 그리고 다른 중요한 설정을 Android 운영 체제에 제공하는 역할을 합니다. 애플리케이션의 작동에 필수적이며  제대로 구성하지 않으면 애플리케이션이 정상적으로 동작하지 않을 수 있습니다. 

https://developer.android.com/guide/topics/manifest/manifest-intro?hl=ko


주요 요소와 기능
구성 요소 선언 - activity, service, receiver, provider와 같은 구성 요소를 정의하고 특성을 지정
권한 요청 - 애플리케이션이 필요한 시스템 권한(인터넷 액세스, 파일 시스템 접근,기타)을 명시
메타데이터 - 특정 하드웨어 및 소프트웨어 기능을 요구사항으로 정의, 애플리케이션의 버전 정보와 패키지 이름 포함
인텐트 필터 - 애플리케이션의 구성 요소가 특정 인텐트를 처리할 수 있도록 설정

 

유니티(Unity)의 안드로이드 메니페스트

유니티의 안드로이드 메니페스트 파일(AndroidManifest.xml) 

https://docs.unity3d.com/kr/2020.3/Manual/android-manifest.html

유니티에서 안드로이드 프로젝트를 빌드하면 아래 프로젝트 폴더에서 자동으로 생성된 안드로이드 메니페스트 파일(AndroidManifest.xml)을 확인할수있습니다. 

Temp\StagingArea 또는

Library\Bee\Android\Prj\Mono2x\Gradle\unityLibrary\src\main(Mono2x의 경우)

Library\Bee\Android\Prj\IL2CPP\Gradle\unityLibrary\src\main(IL2CPP의 경우)

(Temp 폴더는 유니티에서 프로젝트를 빌드할때 임시적으로 생성하는 폴더로 에디터를 종료하기전까지 존재하며 에디터를 종료하면 폴더는 사라집니다)

 

 

유니티가 최종 빌드에서 안드로이드 메니페스트를 생성하는 방법

1-AndroidManifest.xml을 기본 매니페스트로 사용합니다.
2-플러그인(.aar, Android 라이브러리)의 모든 안드로이드 매니페스트를 찾습니다.
3-플러그인 매니페스트를 기본 매니페스트에 추가합니다.
4-런처 및 라이브러리 모듈의 매니페스트 파일을 수정합니다(권한, 설정 옵션, 사용되는기능, 기타를 자동으로 추가)

5-병합한 최종 안드로이드 메니페스트 파일을  apk 또는 aab에 포함시킵니다.

 

빌드 파일(apk)의 구조를 확인하면  최상위 디렉토리에 AndroidManifest.xml 파일이 위치하는것을 확인할수있습니다

(apk 파일의 확장자를 변경하고 압축해제하여 확인합니다)



최종 빌드한 출력 패키지(.apk, .aab)에 포함된 메니페스트 파일은 바이너리 포맷으로 일반적인 방법으로 확인할수없습니다(Android Studio APK Analyzer 또는 Apktool 툴을 사용하여 확인가능합니다)

 

 

 

사용자 정의 메니페스트(Custom Main Manifest)

AndroidManifest.xml 파일을 수정하여 사용자 정의할수있습니다. 

 

사용자 정의 메니페스트 파일 세팅 순서
1-Assets/Plugins/Android/ 디렉토리를 생성합니다.
2-안드로이드 대상 플래폼의 프로젝트를 적어도 한번 빌드하면 프로젝트의 Temp\StagingArea 또는 Library\Bee\Android\Prj\IL2CPP(또는 Mono2x)\Gradle\unityLibrary\src\main에서 AndroidManifest.xml 파일을 확인할수있습니다.
3-AndroidManifest.xml 파일을  Assets/Plugins/Android/ 디렉토리에 복사합니다. 

(또는  프로젝트 설정의 Publishing Settings에서 Custom Main Manifest에 체크하면 해당 디렉토리에 AndroidManifest.xml파일이 생성됩니다)
4-해당 디렉토리의 AndroidManifest.xml 파일(사용자 정의 메니페스트 파일)을 수정합니다.
5-프로젝트 빌드를 진행합니다. 유니티가 프로젝트를 빌드할 때  사용자 정의 메니페스트 파일을 포함한 모든 메니페스트 파일을 병합하여 최종적인 AndroidManifest.xml 파일을 생성합니다.

사용자 정의 메니페스트를 사용하려면  프로젝트 설정의 Publishing Settings에서 Custom Main Manifest 에 체크해야합니다. 이 속성을 체크하면 Unity는 Assets/Plugins/Android/ 폴더에 사용자 정의 AndroidManifest.xml 파일 생성하며 최종 빌드에 병합합니다.

 

댓글

Designed by JB FACTORY