본문 바로가기
X

앱 개발 방법 - 앱 매니페스트 파일 (매니페스트 요소 [<action>, <activity>, <activity-alias>, <category, <data>, <instrumentation>등..], 매니페스트 파일 예시)

by green post it 2022. 1. 13.
반응형

매니페스트 요소

<action>

인텐트 필터에 작업을 추가합니다.

 

<activity>

액티비티 구성 요소를 선언합니다.

 

<activity-alias>

액티비티의 별명을 선언합니다.

 

<application>

애플리케이션을 선언합니다.

 

<category>

인텐트 필터에 카테고리 이름을 추가합니다.

 

<compatible-screens>

애플리케이션과 호환되는 각 화면 구성을 지정합니다.

 

<data>

인텐트 필터에 데이터 사양을 추가합니다.

 

<grant-uri-permission>

상위 콘텐츠 제공자가 액세스할 권한이 있는 앱 데이터의 하위 집합을 지정합니다.

 

<instrumentation>

애플리케이션과 시스템의 상호작용을 모니터링할 수 있는 Instrumentation 클래스를 선언합니다.

 

<intent-filter>

액티비티, 서비스 또는 Broadcast Receiver가 응답할 수 있는 인텐트 유형을 지정합니다.

 

<manifest>

AndroidManifest.xml 파일의 루트 요소입니다.

 

<meta-data>

상위 구성 요소에 제공할 수 있는 추가적인 임의의 데이터 항목에 대한 이름-값 쌍입니다.

 

<path-permission>

콘텐츠 제공자 내에서 특정 데이터 하위 집합에 대한 경로와 필수 권한을 정의합니다.

 

<permission>

이 애플리케이션 또는 다른 애플리케이션의 각 구성 요소나 기능에 대한 액세스를 제한하는 데 사용하는 보안 권한을 선언합니다.

 

<permission-group>

관련 권한의 논리적 집합에 대한 이름을 선언합니다.

 

<permission-tree>

권한 트리의 기본 이름을 선언합니다.

 

<provider>

콘텐츠 제공자 구성 요소를 선언합니다.

 

<receiver>

Broadcast Receiver 구성 요소를 선언합니다.

 

<service>

서비스 구성 요소를 선언합니다.

 

<supports-gl-texture>

앱이 지원하는 단일 GL 텍스처 압축을 선언합니다.

 

<supports-screens>

앱이 지원하는 화면 크기를 선언하고 앱이 지원하는 것보다 큰 화면에 대해서는 화면 호환성 모드를 활성화합니다.

 

<uses-configuration>

애플리케이션이 요구하는 특정 입력 기능을 나타냅니다.

 

<uses-feature>

애플리케이션이 사용하는 단일 하드웨어 또는 소프트웨어 기능을 선언합니다.

 

<uses-library>

애플리케이션과 링크되어야 하는 공유 라이브러리를 지정합니다.

 

<uses-permission>

앱이 올바르게 작동하기 위해 사용자가 반드시 부여해야 하는 시스템 권한입니다.

 

<uses-permission-sdk-23>

앱이 특정 권한을 원한다는 것을 지정합니다. 단, 오직 Android 6.0(API 레벨 23) 이상을 실행하는 기기에서 설치되는 경우에만 해당됩니다.

 

<uses-sdk>

하나 이상의 Android 플랫폼 버전과의 애플리케이션 호환성을 API 레벨 정수로 표시할 수 있습니다.

매니페스트 파일 예시

아래의 XML은 앱의 두 가지 액티비티를 선언하는 단순 예시 AndroidManifest.xml 입니다.

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:versionCode="1"
    android:versionName="1.0"
    package="com.example.myapp">

    <!-- Beware that these values are overridden by the build.gradle file -->
    <!-- 이러한 값은 build.gradle 파일에 의해 재정의된다는 점에 유의하십시오. -->
    <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="26" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

<!-- This name is resolved to com.example.myapp.MainActivity based upon the package attribute -->
<!-- 이 이름은 패키지 속성을 기반으로 com.example.myapp.MainActivity로 확인됩니다. -->
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".DisplayMessageActivity"
            android:parentActivityName=".MainActivity" />
    </application>
</manifest>
반응형