FIF's 코딩팩토리

AndroidManifest.xml이란? 본문

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

AndroidManifest.xml이란?

FIF 2019. 8. 5. 11:50
반응형

android studio를 실행해서 예제파일을 생성하게되면

 

Manifest

 

Java

 

Res

 

파일로 나뉘어진걸 보실 수 있는데요. 

 

그렇다면 이번시간에는 androidmanifest란 무엇이고 어떤 역활을 하는지에 대해 살펴보도록하겠습니다.

 

먼저 단어의 뜻을 알고 가도록하겠습니다.

 

manifest가 무슨뜻인가를 살펴보면

 

manifest란 (명백한, 나타나다, 명확하게하다) 이러한 뜻들을 가지고있습니다. 

 

그럼 android manifest는 android를 명확하게 하고, 나타내주는 역활을 할 수 있다는

 

것을 유추할 수 있습니다.

 

이제 manifest에 어떤 태그들이 있고, 또 어떤 역활들을 수행하는지 살펴보도록 합시다.

 

manifest에는 다음과 같은 속성들이있습니다.

 

<manifest>

<application>

<action>

<activity>

<activity-alias>

<category>

<compatible-screens>

<data>

<grant-uri-permission>

<instrumentation>

<intent-filter>

<meta-data>

<path-permission>

<permission>

<permission-group>

<permission-tree>

<provider>

<receiver>

<service>

<supports-gl-texture>

<supports-screens>

<uses-configuration>

<uses-feature>

<uses-library>

<uses-permission>

<uses-permission-sdk-23>

<uses-sdk>

 

https://developer.android.com/guide/topics/manifest/manifest-intro.html?hl=ko

 

총 27개의 태그들이 manifest에 속해있습니다.

 

android developer에서 반드시있어야할 2가지요소는

<manifest>와  <application>이라고 명시되어있습니다.

 

그렇다면 두가지 태그 안에 어떤 속성이 있고, 어떤 역활을 하는지 살펴보도록하겠습니다.

 

 

 

 

 태그명

 속성명

 <manifest>

 xmlns

 pacakage

 versionCode

 versionName 

 installLocation

 sharedUserid
 sharedUserLabel

 

다음과 같이 <manifest>태그에는 7가지의 속성이 있습니다. 그럼 이제 각각 하나씩 어떤역활을 하고 있는지 살펴 보도록하겠습니다.

 

1.xmlns 

 

xmlns는 xml namespace의 약자로 xml문서 작성시 네임스페이스를 지정해줌으로써 이문서는 어떤형태로 작성되었다는걸 명시하고있습니다.

(여기서 네임스페이스란 xml요소간의 이름에 대한 충돌을 방지해주는 방법을 제공합니다.)

즉 안드로이드 스튜디오에서 xmlns는 http://schemas.android.com/apk/res/android의 형태로 작성된 xml문서라는걸 뜻하고있습니다.

 

2.package

고유의 식별자

안드로이드에서 프로젝트를 생성할때 자신이 생성한 package 이름이 나와있다.

응용프로그램을 게시하고나면 패키지의 이름을 변경할 수 없습니다.

 

3.versionCode

내부 버전 번호(사용자에게 보여지는 번호가 아니다!) 

 

4.versionName

내부 버전 번호(사용자에게 보여지는 번호)

ps. 그렇지만 요새는 gradle에서 version code와 version name을 적용한다고 합니다. 두부분 모두 작상했다면, gradle에서 작성된것 우선적으로 표시된다고합니다.

 

5.installLoacation

응용프로그램의 기본설치 위치입니다.

 iternalOnly

내부저장소에만 설치  (기본값)

 auto

 내부저장소에 먼저설치 그 후 외부저장소에 설치

 preferExternal

 외부저장소에 설치

 

6.sharedUserid

동일한 userid를 가진 응용프로그램의 경우 서로의 데이터에 엑세스 할 수 있다.

 

그렇지만 다른한쪽이 userid를 추후에 변경하게되면 초기화가 되기때문에 선호하는 

방식이 아니다.

 

 

7.sharedUserLabel

동일한 userid를 구분하기위해 사용

어떤 특별한 동작을 위해 사용한것이 아니다.

반응형
Comments