본문 바로가기
프로그래밍/안드로이드

안드로이드 매니페스트(manifest)

by -현's- 2012. 2. 25.
반응형

●매니페스트(AndroidManaifest.xml)
- 매니페스트는 어플리케이션의 각종 정보를 저장하고 있는 신분증같은 역할을 한다.


●메티페스트의 구성



① <manifest>태그
- 어플리케이션에 대한 전반적인 정보들을 포함한다. xmlns:android는 항상 다음과 같은 네임스페이스를 지정해야한다. packpge는 어플리케이션의 패키지 이름을 지정한다. android:versionCode는 어플리케이션의 버전코드이다. android:versionName는 어플리케이션 버전이다.

ex)
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.test"
    android:versionCode="1"
    android:versionName="1.0" >


② <application>태그
- 어플리케이션의 이름, 아이콘등을 정의한다. android:icon은 어플리케이션의 아이콘을 지정한다. android:label은 어플리케이션의 이름을 지정한다. <application>태그는 아휘요소로 어플리케이션의 구성요소(액티비티, 서비스, 콘텐트 프로바이더,브로드케스트 리시버)들의 태그를 정의한다.

ex)
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <uses-library android:name="android.test.runner" />
        <activity android:name="NewActivity"></activity>
    </application>


③ <activity> 태그
- 엑티비티를 정의한다. android:name은 액티비티의 클래스 이름이다. android:label은 화면에 표시될 액티비티의 이름이다.



④ <service> 태그
- 서비스를 정의한다. android:name은 서비스 클래스의 이름이다. android:process는 서비스가 실행될 프로세스를 지정한다.



⑤ <provider> 태그
- 어플리케이션 내의 데이터를 다른 어플리케이션에서 공유할 수 있게 해주는 콘텐트 프로바이더를 등록한다. android:name은 콘텐트 프로바이더 클래스의 이름이다. android:authorities는 콘텐트 프로바이더의 authority를 정의한다. 이 항목은 필수로 기재돼야 한다.



⑥ <receiver> 태그
- 브로드캐스트 리시버를 정의한다.


⑦ <uses-permission> 태그
- 어플리케이션에서 사용할 권한을 지정한다.


⑧ <uses-library> 태그
- 구글 맵 등 사용하려는 외부 라이브러리를 지정한다.


⑨ <uses-sdk> 태그
- 어플리케이션에서 최소로 필요로 하는 sdk버전이다. 버전명이 아닌 API Level로 지정해야 한다.



●메니페스트 에디터 이용

- SDK버전 설정

manifest탭의 Use Sdk항목에서 설정한다. 일반적으로 Min SDK version만 설정한다. 버전은 API Level로 표시한다.




- 어플리케이션 구성요소 추가
액티비티, 서비스, 브로드캐스트 리시버, 콘텐트 프로바이더를 추가할 수 있다.
액티비티 추가하는 예시( http://hyunssssss.tistory.com/44 )



- 권한 추가(uses-permission)
안드로이드 어플리케이션에서 주소록 데이터 접근, SMS데이터 접근, 인터넷 사용, 하드웨어 기능 사용 등을 하려면 적절한 권한을 명시해 주어야 한다.

Permission탭에서 Add를 누른후 나타난 창에서 Uses Permission을 선택한 후 ok버튼을 누른다.


아래 그림의 오른쪽 항목에서 사용할 권한을 추가 한다.




- 외부 라이브러리 사용(uses-library)
구글맵 라이브러리 같은 것을 사용하려면 이를 매니페스트에 기재해야 한다.

Appication탭 하단 Application Nodes에서 Add 클릭후 나타한 대화상자에서 Uses Library를 선택후 ok버튼 누른다.


name에서 추가할 라이브러리를 선택한다.


반응형

댓글