FIF's 코딩팩토리

안드로이드 스튜디오 App mainfestfile 본문

AndroidStudio(안드로이드 스튜디오)

안드로이드 스튜디오 App mainfestfile

FIF 2019. 8. 5. 13:46
반응형

<manifest>

문법

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="string"
          android:sharedUserId="string"
          android:sharedUserLabel="string resource"
          android:versionCode="integer"
          android:versionName="string"
          android:installLocation=["auto" | "internalOnly" | "preferExternal"] >
    . . .
</manifest>

포함된 위치

없음

 

포함 가능한 항목

<application>

AndroidManifest.xml 파일의 루트 요소입니다. <application> 요소를 포함하고 xmlns : android 및 package 특성을 지정해야합니다. 
xmlns : android Android 네임 스페이스를 정의합니다. 이 속성은 항상 "http://schemas.android.com/apk/res/android"로 설정해야합니다. 꾸러미 Android 앱용 전체 Java 언어 스타일 패키지 이름입니다. 이름에는 대문자 또는 소문자 ( 'A'에서 'Z'), 숫자 및 밑줄 ( '_')이 포함될 수 있습니다. 그러나 개별 패키지 이름 부분은 문자로 시작해야합니다. 응용 프로그램 패키지 (APK)에 응용 프로그램을 빌드하는 동안 빌드 시스템은 두 가지 사항에 대해 package 속성을 사용합니다. 이 이름을 앱의 생성 된 R.java 클래스 (앱 리소스에 액세스하는 데 사용됨)의 네임 스페이스로 적용합니다. 예를 들어 package가 "com.example.myapp"로 설정된 경우 R 클래스는 com.example.myapp.R에 만들어집니다. 이 이름을 사용하여 매니페스트 파일에 선언 된 상대 클래스 이름을 확인합니다. 예를 들어 package가 "com.example.myapp"로 설정된 경우 <activity android : name = ". MainActivity">로 선언 된 활동은 com.example.myapp.MainActivity로 해석됩니다. 이 이름은 앱 프로세스의 기본 이름이기도합니다 (<application> 요소의 process 속성 참조). 그리고 이는 여러분의 액티비티에 대한 기본 작업 연관성입니다 (<activity> 요소의 taskAffinity 특성 참조). 이 이름은 Google Play에서 앱을 게시하기 위해 고유해야하는 애플리케이션 ID를 나타냅니다. 그러나 APK 빌드 프로세스가 끝날 때까지 빌드 도구는 build.gradle 파일 (Android Studio 프로젝트에서 사용됨)의 applicationId 속성을 사용하여 패키지 이름을 재정의합니다. 매니페스트의 패키지 이름을 빌드 파일의 applicationId와 동일하게 유지하는 한 걱정할 필요가 없습니다. 그러나이 두 값이 다른 경우 응용 프로그램 ID 설정 방법을 읽음으로써 "패키지 이름"과 "응용 프로그램 ID"간의 차이점을 이해해야합니다. 다른 개발자와의 충돌을 피하려면 인터넷 도메인 소유권을 패키지 이름의 기초로 사용해야합니다 (역순으로). 예를 들어 Google에서 게시 한 앱은 com.google. 참고 : com.example 및 com.android 네임 스페이스는 모두 Google Play에서 금지되어 있습니다. 앱을 게시 한 후 패키지 이름을 변경하려면 할 수 있지만 애플리케이션 ID는 동일하게 유지해야합니다. applicationId는 Google Play에서 내 앱의 고유 ID를 정의합니다. 따라서 앱을 변경하면 APK가 다른 앱으로 간주되어 이전 버전의 사용자에게 업데이트가 전송되지 않습니다. 자세한 내용은 응용 프로그램 ID를 설정하는 방법을 참조하십시오.

 

 

 

<application>

contained in:

<manifest>

can contain:

<activity> 
<activity-alias> 
<meta-data> 
<service> 
<receiver> 
<provider> 
<uses-library>

 

신청서의 선언. 이 요소는 응용 프로그램의 각 구성 요소를 선언하고 모든 구성 요소에 영향을 줄 수있는 특성을 갖는 하위 요소를 포함합니다. 이러한 특성의 대부분 (예를 들면 icon, label, permission, process, taskAffinity, 및 allowTaskReparenting성분 요소의 해당 속성) 설정 기본값. 다른 사람은 (예 debuggable, enabled, description,과 allowClearUserData) 세트 전체 응용 프로그램에 대한 값은 구성 요소에서 재정의 할 수 없습니다.

 

android:icon
응용 프로그램의 전체 아이콘과 각 응용 프로그램의 구성 요소에 대한 기본 아이콘. <activity>, <activity-alias>, <service>, <receiver> 및 <provider> 요소에 대한 개별 아이콘 속성을 참조하십시오. 이 속성은 이미지가 포함 된 drawable 리소스에 대한 참조로 설정해야합니다 (예 : "@ drawable / icon"). 기본 아이콘이 없습니다.

 

android:label

응용 프로그램 전체에 대한 사용자가 읽을 수있는 레이블 및 각 응용 프로그램의 구성 요소에 대한 기본 레이블. <activity>, <activity-alias>, <service>, <receiver> 및 <provider> 요소에 대한 개별 레이블 속성을 참조하십시오.

레이블은 문자열 리소스에 대한 참조로 설정해야 사용자 인터페이스의 다른 문자열처럼 현지화 될 수 있습니다. 그러나 응용 프로그램을 개발하는 동안 편의상 원시 문자열로 설정할 수도 있습니다.

 

android:name
응용 프로그램에 대해 구현 된 응용 프로그램 서브 클래스의 정규화 된 이름입니다. 응용 프로그램 프로세스가 시작되면이 클래스는 응용 프로그램의 구성 요소보다 먼저 인스턴스화됩니다. 서브 클래스는 선택 사항입니다. 대부분의 응용 프로그램은 필요하지 않습니다. 하위 클래스가 없으면 Android는 기본 Application 클래스의 인스턴스를 사용합니다.

 

 

 

<activity>

애플리케이션의 시각적 사용자 인터페이스 요소를 구현하는 액티비티(Activity 서브클래스)를 선언합니다. 모든 액티비티는 매니페스트 파일의 <activity> 요소가 나타내야 합니다. 거기에 선언되지 않은 액티비티는 시스템이 표시하지 않으며 실행되지 않습니다.

 

포함된 위치

<application>

포함 가능한 항목

<intent-filter> 
<meta-data>

 

android:label

액티비티에 대한 사용자가 읽을 수 있는 레이블입니다. 사용자에게 액티비티를 표시해야 하는 경우 레이블이 화면에 표시됩니다. 레이블은 종종 액티비티 아이콘과 함께 표시됩니다.

이 특성을 설정하지 않으면 전체로서 애플리케이션에 대해 설정한 레이블이 대신 사용됩니다(<application> 요소의label 특성 참조).

여기에 설정했거나 <application> 요소가 설정한 액티비티 레이블은 모든 액티비티의 인텐트 필터에 대한 기본 레이블입니다(<intent-filter> 요소의 label 특성 참조).

레이블은 사용자 인터페이스의 다른 문자열처럼 현지화할 수 있도록 문자열 리소스에 대한 참조로 설정해야 합니다. 그러나 애플리케이션을 개발하는 동안 편의상 레이블을 원시 문자열로 설정할 수도 있습니다.

 

android:name

액티비티를 구현하는 클래스(Activity의 서브클래스)의 이름입니다. 이 특성 값은 정규화된 클래스 이름(예: "com.example.project.ExtracurricularActivity")이어야 합니다. 그러나 요컨대 이름의 첫 문자가 마침표인 경우(예: ".ExtracurricularActivity") <manifest> 요소에 지정된 패키지이름에 추가됩니다.

애플리케이션을 게시한 개발자는 (android:exported="false"를 설정하지 않은 경우) 이 이름을 변경해서는 안 됩니다.

기본값은 없습니다. 이름을 지정해야 합니다.

 

 

<intent-filter>

문법

<intent-filter android:icon="drawable resource"
               android:label="string resource"
               android:priority="integer" >
    . . .
</intent-filter>

contained in:

<activity> 
<activity-alias> 
<service> 
<receiver>

must contain:

<action>

can contain:

<category> 
<data>


활동, 서비스 또는 브로드 캐스트 수신기가 응답 할 수있는 인 텐트 유형을 지정합니다. 인 텐트 필터는 부모 구성 요소의 기능, 즉 활동이나 서비스가 수행 할 수있는 작업과 수신자가 처리 할 수있는 브로드 캐스트의 유형을 선언합니다. 구성 요소를 의미있는 것으로 필터링하지 않으면 서 보급 된 유형의 수신 인 텐트로 구성 요소를 엽니 다. 필터의 대부분의 내용은 <action>, <category> 및 <data> 하위 요소로 설명됩니다.

 

 

 

 

 

 

<action>

문법

<action android:name="string" />

 

contained in:

<intent-filter>

description:
의도 필터에 작업을 추가합니다. <intent-filter> 요소는 하나 이상의 <action> 요소를 포함해야합니다. 인 텐트 필터에 <action> 요소가 없으면 필터는 인 텐트 오브젝트를 허용하지 않습니다. 인 텐트 필터 및 필터 내의 액션 스펙 역할에 대한 자세한 내용은 인 텐트 및 인 텐트 필터를 참조하십시오.

 

 

 

<category>

문법

<category android:name="string" />

contained in:

<intent-filter>

description:
인 텐트 필터에 카테고리 이름을 추가합니다. 인 텐트 필터 및 필터 내에서 카테고리 스펙의 역할에 대한 자세한 내용은 인 텐트 및 인 텐트 필터를 참조하십시오.

 

반응형
Comments