매니페스트 파일은 Android 빌드 도구, Android 운영체제 및 Google Play에 앱에 관한 필수 정보를 설명한다. 가장 상위 폴더에 AndroidManifest.xml
이 있어야하며, 이 정보는 앱이 실행되기 전에 시스템이 알아야 할 내용을 정의하고 있다.
Manifest 파일의 루트 요소<manifest></manifest>
에는 해당 앱의 패키지 네임이 반드시 기재되어야 한다. “com.example.myapplication” 이라는 패키지를 만들었다면 아래와 같은 Manifest 파일이 생성된다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package=“com.example.myapplication”
android:versionCode="1"
android:versionName="1.0" >
...
</manifest>
이는 우리가 앱을 빌드하여 APK 를 추출하는 과정에서 Android Build Tool 에 의해 다음 2가지 목적으로 사용된다.
<activity android:name=".MainActivity>
라고 선언했다면 이는 "com.example.myapplication.MainActivity" 를 의미함.<manifest package="com.example.myapplication" ... >
<application ... >
<activity android:name=".MainActivity" ... >
...
</activity>
</application>
</manifest>
안드로이드에는 4대 컴포넌트가 있는데, 앱에서 이 컴포넌트들을 사용하기 위해서는 Manifest 파일에 해당하는 XML 요소를 선언해줘야 한다.
Android 앱은 민감한 사용자 데이터 또는 특정 시스템 기능에 액세스하기 위한 권한을 요청해야 한다. 예를 들어 인터넷 권한을 사용하는 앱은 매니페스트에 다음과 같은 줄이 있어야함.
<manifest ... >
<uses-permission android:name="android.permission.INTERNET"/>
...
</manifest>