- 문법:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="string" android:sharedUserId="string" android:sharedUserLabel="string resource" android:sharedUserMaxSdkVersion="integer" android:versionCode="integer" android:versionName="string" android:installLocation=["auto" | "internalOnly" | "preferExternal"] > ... </manifest>
- 포함된 요소
- 없음
- 포함해야 하는 요소
<application>
- 포함 가능한 요소
<compatible-screens>
<instrumentation>
<permission>
<permission-group>
<permission-tree>
<queries>
<supports-gl-texture>
<supports-screens>
<uses-configuration>
<uses-feature>
<uses-permission>
<uses-permission-sdk-23>
<uses-sdk>
- 설명:
AndroidManifest.xml
파일의 루트 요소입니다. 반드시<application>
요소 포함xmlns:android
및package
속성을 지정합니다.- 속성
-
xmlns:android
- Android 네임스페이스를 정의합니다. 이 속성은 항상
"http://schemas.android.com/apk/res/android"
님에게 전송됩니다. package
- APK 매니페스트 파일의
package
속성 값은 앱의 보편적으로 고유한 애플리케이션 ID를 나타냅니다. 완전한 Java 언어 스타일로 형식이 지정됩니다. Android 앱의 패키지 이름입니다. 이름에는 대문자 또는 소문자, 숫자, 및 밑줄('_')을 포함할 수 있습니다. 하지만 개별 패키지 이름 부분은 있습니다.package
값은 기본적으로 변경하지 않도록 주의하세요. 새 앱을 만듭니다 앱 이전 버전 사용자는 업데이트를 받지 못하며 이전 버전과 새 버전 간에 데이터를 전송할 수 있어야 합니다.AGP 7.3부터 Gradle 기반 빌드 시스템에서는 소스 매니페스트 파일에서
package
값을 직접 가져옵니다. 자세한 내용은 애플리케이션 ID 설정을 참고하세요. android:sharedUserId
-
이 상수는 API 수준 29부터 지원 중단되었습니다.
공유 사용자 ID는 패키지 관리자 내에서 비결정적 동작을 일으킵니다. 따라서 그 용도는 권장되지 않으며 향후 Android 버전에서 삭제될 수 있습니다. 대신 적절한 커뮤니케이션 메커니즘(예: 서비스 및 콘텐츠 제공자)이 공유 구성요소 간의 상호 운용성을 보장하는 데 사용됩니다 기존 앱은 이 값을 삭제할 수 없습니다. 공유 사용자 ID에서 이전하는 것은 지원되지 않습니다. 이러한 앱에서 공유 사용을 피하려면android:sharedUserMaxSdkVersion="32"
신규 사용자 설치의 사용자 ID다른 앱과 공유되는 Linux 사용자 ID의 이름입니다. 기본적으로 Android에서는 각 앱에 고유한 사용자 ID를 할당합니다. 그러나 이 속성이 동일한 ID를 공유해야 합니다. 동일한 인증서 세트는 동일합니다. 사용자 ID가 동일한 앱은 서로의 데이터에 액세스할 수 있으며 원하는 경우 동일한 프로세스에서 실행됩니다.
android:targetSandboxVersion
- 이 앱에서 사용할 타겟 샌드박스입니다. 샌드박스 버전 번호가 높을수록 보안 수준이 높습니다.
기본값은
1
이며2
로도 설정할 수 있습니다. 이 속성을2
로 설정하면 앱이 다른 SELinux 샌드박스로 전환됩니다.레벨 2 샌드박스에는 다음 제한사항이 적용됩니다.
- 네트워크 보안 구성에서
usesCleartextTraffic
의 기본값은 false입니다. - UID 공유는 허용되지 않습니다.
Android 8.0 (API 레벨 26) 이상을 타겟팅하는 Android 인스턴트 앱의 경우 이 속성은
2
로 설정됩니다. 설치된 앱 버전에서 샌드박스 수준을 설정할 수 있습니다. 덜 제한적인 레벨1
그러나 이렇게 하면 앱은 인스턴트 앱의 앱 데이터를 버전을 출시할 수 있습니다 설치된 앱의 샌드박스 값을2
(으)로 설정해야 합니다. 데이터가 인스턴트 앱에서 설치된 버전으로 유지될 수 있기 때문입니다.앱이 설치된 후에는 타겟 샌드박스 값을 더 높은 값으로만 업데이트할 수 있습니다. 대상 샌드박스 값을 다운그레이드하려면 앱을 제거하세요. 매니페스트에 이 특성에 대해 더 낮은 값이 포함된 버전으로 이를 대체합니다.
- 네트워크 보안 구성에서
android:sharedUserLabel
-
이 상수는 API 수준 29부터 지원 중단되었습니다.
공유 사용자 ID는 패키지 관리자 내에서 비결정적 동작을 일으킵니다. 따라서 그 용도는 권장되지 않으며 향후 Android 버전에서 삭제될 수 있습니다. 대신 적절한 커뮤니케이션 메커니즘(예: 서비스 및 콘텐츠 제공자)이 공유 구성요소 간의 상호 운용성을 보장하는 데 사용됩니다 기존 앱은 이 값을 삭제할 수 없습니다. 공유 사용자 ID에서 이전하는 것은 지원되지 않습니다.사용자가 읽을 수 있는 공유 사용자 ID에 관한 라벨입니다. 라벨은 다음과 같이 설정됩니다. 문자열 리소스에 대한 참조입니다. 원시 문자열일 수 없습니다.
이 속성은 API 수준 3에서 도입되었습니다.
sharedUserId
속성도 설정된 경우에만 의미가 있습니다. android:sharedUserMaxSdkVersion
-
공유 사용자 ID는 패키지 관리자 내에서 비결정적 동작을 일으킵니다. 따라서 그 용도는 권장되지 않으며 향후 Android 버전에서 삭제될 수 있습니다. 대신 적절한 커뮤니케이션 메커니즘(예: 서비스 및 콘텐츠 제공자)이 공유 구성요소 간의 상호 운용성을 보장하는 데 사용됩니다
시스템에서 여전히
android:sharedUserId
를 사용하는 최대 SDK 버전입니다. 만약 앱이 지정된 값보다 높은 SDK 버전을 실행하는 기기에 새로 설치되는 경우android:sharedUserId
를 정의하지 않은 것처럼 동작합니다.이 속성은 API 수준 33에서 도입되었습니다.
sharedUserId
속성도 설정된 경우에만 의미가 있습니다. android:versionCode
- 내부 버전 번호입니다. 이 번호는 한 버전이 다른 버전보다 최신인지 여부를 판단하는 데만 사용되며, 번호가 높을수록 최신 버전입니다. 사용자에게 표시되는 버전 번호가 아닙니다.
versionName
속성으로 설정됩니다.값은 0보다 큰 양의 정수로 설정됩니다. 각 연속 버전에 더 높은 값이 있는 경우 원하는 값을 정의할 수 있습니다. 예를 들어 빌드 번호이거나 버전을 번역할 수 있습니다. 'x.y'의 숫자 'x'를 인코딩하여 형식을 정수로 변환 'y' 별도로 하위 16 비트와 상위 16 비트. 또는 숫자를 1씩 증가시킬 수 있습니다. 새 버전이 출시될 때마다
android:versionName
- 사용자에게 표시되는 버전 번호입니다. 이 속성은 원시 값으로 설정되며
문자열로 또는 문자열 리소스에 대한 참조로 표현할 수 있습니다. 문자열에 다른 용도가 없습니다.
더 많은 수익을 창출할 수 있습니다.
versionCode
속성에는 내부적으로 사용되는 중요한 버전 번호가 포함되어 있습니다. android:installLocation
- 앱의 기본 설치 위치입니다.
다음과 같은 키워드 문자열이 허용됩니다.
값 설명 "internalOnly"
앱이 내부 기기 저장소에만 설치됩니다. 설정된 경우 앱이 SD 카드와 같은 외부 저장소에 설치되지 않습니다. 내부 스토리지가 가득 차면 시스템에서 앱을 설치하지 않습니다. 기본 동작입니다. android:installLocation
를 정의하지 않을 경우"auto"
앱은 외부 저장소에 설치할 수 있지만 시스템에서 설치 앱이 기본적으로 내부 저장소에 있습니다 내부 저장소가 가득 차면 외부 저장소에 설치합니다 앱이 설치된 후 사용자는 시스템 설정을 통해 앱을 내부 또는 외부 저장소로 이동할 수 있습니다. "preferExternal"
앱이 외부 저장소에 설치되는 것을 선호합니다. 없음 시스템이 이 요청을 수락하도록 보장합니다. 앱이 내부 기기에 설치될 수 있음 외부 미디어가 사용 가능하거나 가득 찬 경우 외부 미디어가 자동으로 재생됩니다. 앱이 설치된 후 사용자는 시스템 설정을 통해 앱을 내부 또는 외부 저장소로 이동할 수 있습니다. 참고: 기본적으로 앱은 이 속성을 정의하지 않으면 내부 저장소에 설치할 수 없습니다.
"auto"
또는"preferExternal"
이 됩니다.앱이 외부 저장소에 설치되는 경우:
- APK 파일이 저장되었습니다. 외부 저장소에 데이터를 보내지만 데이터베이스와 같은 모든 앱 데이터는 여전히 내부 기기 메모리에 저장됩니다.
- APK 파일이 저장된 컨테이너는 앱이 설치된 기기에서만 작동합니다. 사용자는 다음 작업을 할 수 없습니다. SD 카드를 다른 기기로 전송하고 카드에 설치된 앱을 사용하는 것이 좋습니다. 하나의 기기에서 여러 개의 SD 카드를 사용할 수 있습니다.
- 사용자의 요청에 따라 앱을 내부 저장소로 이동할 수 있습니다.
사용자는 앱을 내부 저장소에서 외부 저장소로 이동하도록 요청할 수도 있습니다. 사용할 수 있습니다 그러나 다음과 같은 경우 시스템에서 사용자가 앱을 외부 저장소로 이동하도록 허용하지 않습니다. 이 속성은 기본 설정인
"internalOnly"
로 설정됩니다.대상 이전 버전과의 호환성을 유지하는 방법, 앱 설치 위치를 참고하세요.
도입 시기: API 수준 8
- 도입 수준:
- 모든 속성의 경우 속성 설명에 달리 명시되지 않는 한 API 수준 1입니다.
- 참고 항목:
-
<application>