[안드로이드] 안드로이드 매니페스트 파일

반응형



안드로이드의 어플리케이션을 시작하기 전에, 컴포넌트의 존재를 인식해야 실행이 되겠죠? ( 당연한건가... )

읽기전에 손가락 한번 클릭~ >_<

고마워요 ~ Chu ~ ♥



어쨋든 그렇기 때문에 어플리케이션은 안드로이드의 매니페스트 ( manifest ) 라는 파일에 컴포넌트를 선언해야 합니다. 이 매니페스트 파일은 안드로이드 패키지, 즉 .apk 파일 내에 포함되고 이 패키지에는 코드, 파일, 리소스 등이 들어있습니다.

매니페스트는 구조화된 XML 파일이며 , 모든 어플리케이션에 AndroidManifest.xml 이라는 파일명으로 존재합니다.

매니페스트는 컴포넌트를 선언하고, 필요한 특정 라이브러리를 지정하고, 어플리케이션의 권한조정을 위해 퍼미션을 식별하는 등의 역할을 합니다.

하지만 결국 매니페스트의 주된 역할은 어플리케이션의 컴포넌트를 명시하는 일인데요.



안드로이드의 매니페스트 파일의 한 부분 입니다.

<activity> 엘리먼트의 name 속성은 액티비티를 구현하는 Activity 하위클래스를 지정합니다.
icon 속성은 사용자에게 보여주는 아이콘이며, label 속성은 라벨을 나타내지요. [ 명시적으로 선언할 수도 있고 " @string/aaa "  처럼 리소스 파일을 지정해도 됩니다 ]

다른 컴포넌트도 비슷하게 선언되는데요,
서비스는 <service> 엘리먼트 , 브로드캐스트리시버는 <receiver> 엘리먼트 , 컨텐츠 프로바이더는 <provider> 엘리먼트로 선언됩니다.

매니페스트에 선언되지 않은 액티비티, 서비스, 컨텐츠 프로바이더는 시스템에게 보여지지 않으며 결과적으로 절대로 실행되지 않습니다 ( 즉, 선언되지 않으면 없는것이나 마찬가지 입니다 )

특별히 브로드캐스트 리시버는 매니페스트 내에서 선언되거나, BroadcastReceiver 객체 형태로 코드 내에서 동적으로 만들어져서 Context.registerReceiver() 메소드 호출로 시스템에 등록되게 됩니다.




반응형

댓글

Designed by JB FACTORY