2017년 9월 28일 목요일

AndroidManifest.xml 파일 개요

모든 애플리케이션에는 루트 디렉터리에 AndroidManifest.xml 파일이 있어야 하는데, Android Studio에서 기본 앱 프로젝트를 생성하면 'app/manifests' 폴더내에 위치합니다.

AndroidManifest.xml 파일에서는 Android 시스템이 앱의 코드를 실행하기 전에 확보해야 하는 앱에 대한 필수 정보를 시스템에 제공합니다.

■ 애플리케이션에 대한 Java 패키지의 이름을 지정하는데, 애플리케이션에 대한 고유한 식별자 역할을 합니다.
■ 액티비티, 서비스, 브로드캐스트 수신기 및 콘텐츠 제공자 등 애플리케이션을 이루는 구성 요소를 설명합니다. 또한, 각 구성 요소를 구현하는 클래스의 이름을 지정하고 클래스가 처리할 수 있는 해당 기능(: Intent 메시지)을 게시합니다. 이러한 선언은 Android 시스템에 구성 요소와 구성 요소가 실행될 수 있는 조건을 알립니다.
■ 애플리케이션 구성 요소를 호스팅하는 프로세스를 결정합니다.
■ 애플리케이션이 API의 보호된 부분에 액세스하여 다른 애플리케이션과 상호 작용하는데 보유해야 하는 권한을 선언합니다. 또한, 다른 애플리케이션이 이 애플리케이션의 구성 요소와 상호작용하기 위해 보유해야 하는 권한도 선언합니다.
■ 애플리케이션이 실행중일때 프로파일링과 기타 정보를 제공하는 Instrumentation 클래스를 나열합니다. 이러한 선언은 애플리케이션이 개발중인 동안에만 매니페스트에 존재하고, 애플리케이션이 배포되기 전에 삭제됩니다.
■ 애플리케이션이 필요로 하는 Android API의 최소 레벨을 선언합니다.
■ 애플리케이션이 연결되어야 하는 라이브러리를 나열합니다.

매니페스트 파일의 기본 예는 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>

<manifest>

    <uses-permission />
    <permission />
    <permission-tree />
    <permission-group />
    <instrumentation />
    <uses-sdk />
    <uses-configuration /> 
    <uses-feature /> 
    <supports-screens /> 
    <compatible-screens /> 
    <supports-gl-texture /> 

    <application>

        <activity>
            <intent-filter>
                <action />
                <category />
                <data />
            </intent-filter>
            <meta-data />
        </activity>

        <activity-alias>
            <intent-filter> . . . </intent-filter>
            <meta-data />
        </activity-alias>

        <service>
            <intent-filter> . . . </intent-filter>
            <meta-data/>
        </service>

        <receiver>
            <intent-filter> . . . </intent-filter>
            <meta-data />
        </receiver>

        <provider>
            <grant-uri-permission />
            <meta-data />
            <path-permission />
        </provider>

        <uses-library />

    </application>

</manifest>

댓글 없음:

댓글 쓰기