Android in A..Z - Manifest
Manifest
AndroidManifest.xml이라는 파일이며 프로젝트에 꼭 존재해야 합니다. 기본적으로 Build Tool, Android System, Google Play Store에 필요한 정보를 제공하는 역할을 합니다.
주요 요소
Package Name
manifest 태그안에 package를 정의합니다. package는 R class를 만들 때 사용하거나 manifest에 선언된 컴포넌트들의 상대 주소를 찾을 때 사용합니다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
android:versionCode="1"
android:versionName="1.0" >
...
</manifest>
Component
Application, Activity, Service, BroadcastReciever, ContentProvider 같은 주요 요소를 선언합니다. (Manifest에 등록하지 않은 Component는 작동되지 않을 수 있습니다.)
name 태그를 사용하여 클래스를 지정할 수 있습니다.
<manifest ... >
<application ... >
<activity android:name="com.example.myapp.MainActivity" ... >
</activity>
</application>
</manifest>
Permission
Android에서 민감한 정보를 접근하거나 특정 시스템 기능을 사용할 때 권한이 필요합니다. 관련된 권한을 Manifest에 정의하고 사용해야 합니다.
* Android 6.0(API 23) 이후 위험한 권한은 런타임에서도 확인을 해야합니다.
<manifest ... >
<uses-permission android:name="android.permission.SEND_SMS"/>
...
</manifest>
Device Compatibility
기기 호환성을 정의하는 부분입니다. 예를 들어 나침반 센서가 없는 디바이스를 제한하려면 아래와 같이 정의하면 됩니다.
<manifest ... >
<uses-feature android:name="android.hardware.sensor.compass"
android:required="true" />
...
</manifest>
추가 참고 문서
https://developer.android.com/guide/topics/manifest/manifest-intro?hl=ko#perms
앱 매니페스트 개요 | Android 개발자 | Android Developers
앱 매니페스트 개요 모든 앱 프로젝트는 프로젝트 소스 세트의 루트에 AndroidManifest.xml 파일(정확히 이 이름)이 있어야 합니다. 매니페스트 파일은 Android 빌드 도구, Android 운영체제 및 Google Play에
developer.android.com