Unity Android 앱 매니페스트 가이드
이 문서는 Unity의 Android 앱 매니페스트에 대한 정보를 제공합니다. 매니페스트는 애플리케이션에 대한 중요한 메타데이터를 포함하고 있으며, 각 기능과 권한을 관리하게 됩니다.
Android 앱 매니페스트란?
Android 앱 매니페스트는 Android 애플리케이션의 핵심 정보를 포함하는 XML 파일입니다. 애플리케이션의 이름, 엔트리 포인트, 지원하는 Android 버전, 하드웨어 기능, 요청되는 권한 등을 정의합니다.
매니페스트의 구성 요소
- 앱 이름: 애플리케이션의 사용자에게 보여지는 이름
- 엔트리 포인트: 애플리케이션이 시작되는 지점
- Android 버전 지원: 어떤 Android 버전에서 실행될 수 있는지를 나타냅니다.
- 하드웨어 기능: 앱이 사용하는 하드웨어 기능에 대한 정보
- 권한: 앱이 접근할 수 있는 리소스나 데이터의 종류
Android 앱 매니페스트 생성 과정
Unity에서 Android 앱 매니페스트는 다음과 같이 생성됩니다:
- 소스와 매니페스트 파일 병합: Gradle은 여러 매니페스트 파일을 병합하여 최종 매니페스트를 만듭니다. 여기에는 다음이 포함됩니다:
- Unity 라이브러리 매니페스트: Unity에서 생성한 매니페스트 파일
- Unity 런처 매니페스트: Unity 라이브러리를 래핑하는 애플리케이션 매니페스트
- 플러그인 매니페스트: AAR 또는 Android 라이브러리 프로젝트를 나타내는 파일
- Gradle 연산: 최종 Android 앱 매니페스트는 Unity 라이브러리와 Unity 런처 매니페스트, 플러그인 매니페스트를 합쳐서 생성됩니다.
- 권한 자동 추가: Unity는 앱에서 사용되는 다양한 API를 기반으로 필수 권한을 자동으로 매니페스트에 추가합니다. 예를 들어:
Network클래스는INTERNET권한을 추가Handheld.Vibrate를 사용하면VIBRATE권한이 추가됩니다.
Android 앱 매니페스트 편집 주의사항
APK나 AAB 안에 있는 Android 앱 매니페스트 파일을 직접 편집할 수는 없습니다. 매니페스트의 내용을 변경하거나 오버라이드하는 방법은 별도로 지정된 절차를 따릅니다.
중요한 권한 예시
| API | 추가되는 권한 |
|---|---|
| Network 클래스 | INTERNET |
| Handheld.Vibrate | VIBRATE |
| InternetReachability 속성 | ACCESS_NETWORK_STATE |
| LocationService | ACCESS_FINE_LOCATION |
| WebCamTexture API | CAMERA |
| Microphone 클래스 | RECORD_AUDIO |
추가 자료
더 많은 정보와 예시는 다음의 링크를 참고하세요: - Android 앱 매니페스트 오버라이드 - Android 개발자 문서
이 문서는 Unity Android 앱 매니페스트에 대한 기본적인 이해를 돕기 위한 자료이며, 앱을 개발할 때 필요한 기초 정보를 제공합니다. 추후 다양한 기능에 대한 자세한 설명과 응용 예제를 추가할 예정입니다.