<manifest>

syntax:
<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" >
    . . .
</manifest>

contained in:
none

must contain:
<application>
can contain:
<instrumentation>
<permission>
<permission-group>
<permission-tree>
<uses-configuration>
<uses-permission>

<uses-sdk>

description:
The root element of the AndroidManifest.xml file. It must contain an <application> element and specify xlmns:android and package attributes.
AndroidManifest.xml 파일의 루트 엘리먼트. 그것은 <application> 엘리먼트를 포함해야 하며, 그리고 xlmns:android 와 package 애트리뷰트를 지정해야 한다.
attributes:
xmlns:android
Defines the Android namespace. This attribute should always be set to "http://schemas.android.com/apk/res/android".
안드로이드 네임스페이스를 정의한다. 이 애트리뷰트는 항상 “http://schemas.android.com/apk/res/android”로 설정되어야 한다.
package
A full Java package name for the application. The name should be unique. The name may contain uppercase or lowercase letters ('A' through 'Z'), numbers, and underscores ('_'). However, individual package name parts may only start with letters. For example, applications published by Google could have names in the form com.google.app.application_name.

The package name serves as a unique identifier for the application. It's also the default name for the application process (see the <application> element's process process attribute) and the default task affinity of an activity (see the <activity> element's taskAffinity attribute).

애플리케이션에 대한 전체 Java 패키지 이름. 그 이름은 고유해야 한다. 그 이름은 (‘A’부터 ‘Z’까지의) 대문자 또는 소문자, 숫자, 그리고 언더스코어(‘_’)를 포함할 수 있다. 하지만, 패키지 이름의 각 영역은 문자로만 시작한다. 예를 들어 구글에 의해 배포된 애플리케이션은 com.google.app.application_name 형식으로 된 이름을 가질 수 있다.

패키지 이름은 애플리케이션에 대한 고유한 식별자 역할을 한다. 그것은 또한 애플리케이션 프로세스에 대한 디폴트 이름이고 액티비티의 디폴트 친화력affinity 이름이다(<application> 엘리먼트의 process 애트리뷰트를 보라)와 액티비티(<activity> 엘리먼트의 taskAffinity 애트리뷰트를 보라).

android:sharedUserId
The name of a Linux user ID that will be shared with other applications. By default, Android assigns each application its own unique user ID. However, if this attribute is set to the same value for two or more applications, they will all share the same ID provided that they are also signed by the same certificate. Application with the same user ID can access each other's data and, if desired, run in the same process.
다른 애플리케이션과 공유될 리눅스 유저user ID의 이름. 디폴트로, 안드로이드는 각각의 애플리케이션에게 그것 자신의 고유한 유저user ID를 할당한다. 하지만 만약 이 애트리뷰트가 두 개 또는 그 이상의 애플리케이션에 대해 동일한 값으로 설정된다면, 그들은 동일한 ID를 모두 공유할 것이다 ? 그들이 또한 동일한 인증서에 의해 사인된다는 조건 하에서. 동일 유저user ID를 가진 애플리케이션은 각각 서로의 데이터에 접근할 수 있고, 원한다면 동일 프로세스에서 실행될 수 있다.
android:sharedUserLabel
A user-readable label for the shared user ID. The label must be set as a reference to a string resource; it cannot be a raw string.

This attribute was introduced in API Level 3. It is meaningful only if the sharedUserId attribute is also set.

공유 유저user ID 에 대한 사용자가 읽을 수 있는 라벨. 그 라벨은 문자열 리소스에 대한 레퍼런스로써 설정되어야 한다; 그것은 원시raw 문자열이 될 수는 없다.

이것은 API 레벨 3에서 도입되었다. 그것은 shardUserId 또한 설정되었을 때에만 유의미하다.

android:versionCode
An internal version number. This number is used only to determine whether one version is more recent than another, with higher numbers indicating more recent versions. This is not the version number shown to users; that number is set by the versionName attribute.

The value must be set as an integer, such as "100". You can define it however you want, as long as each successive version has a higher number. For example, it could be a build number. Or you could translate a version number in "x.y" format to an integer by encoding the "x" and "y" separately in the lower and upper 16 bits. Or you could simply increase the number by one each time a new version is released.

내부적인 버전 숫자. 이 숫자는 더 최근 버전을 가리키는 더 높은 숫자를 가지고, 하나의 버전이 다른 버전보다 더 최근 것인지 여부를 결정하기 위해서만 사용된다. 이것은 사용자에게 보여지는 버전 숫자는 아니다; 그 숫자는 versionName 애트리뷰트에 의해 설정된다.

그 값은 “100”와 같은 정수integer로 설정되어야 한다. 여러분은 각각의 다음 버전이 더 높은 숫자를 가지기만 한다면, 여러분이 원하는 어떤 것으로든 그것을 정의할 수 있다. 예를 들어 그것은 빌드 숫자가 될 수도 있으며, 또는 여러분은 “x.y” 포맷의 버전 숫자를 “x”와 “y”를 각각 상위, 그리고 하위 16비트로 인코딩한 정수integer로 변환할 수도 있고, 또는 여러분은 새로운 버전이 릴리즈될 때마다 간단하게 숫자를 하나씩 증가할 수도 있다.

android:versionName
The version number shown to users. This attribute can be set as a raw string or as a reference to a string resource. The string has no other purpose than to be displayed to users. The versionCode attribute holds the significant version number used internally.
사용자에게 보여지게 되는 버전 숫자. 이 애트리뷰트는 원시 문자열 또는 문자열 리소스에 대한 레퍼런스로써 설정될 수 있다. 문자열은 사용자에게 표시되는 것 말고 다른 목적이 없다. 그 versionCode 애트리뷰트가 내부적으로 사용되는 의미있는 버전 숫자를 보유한다.
introduced in:
API Level 1 for all attributes except for sharedUserLabel, which was added in level 3.

see also:
<application>
↑ Go to top