기타/Android

[안드로이드 Android Studio] Manifest란?

yujindonut 2021. 11. 20. 21:03
728x90

Manifest : (V) 나타내다, 드러내다

 

AndroidManifest.xml 

: 앱에 대한 필수적인 정보를 안드로이드툴과 Android OS, 그리고 구글 플레이에 제공한다.

: 안드로이드 프로젝트에 반드시 포함되어야하는 파일 !!

: 안에 무조건 선언되어야하는 정보 : 앱의 패키지 이름/ 앱에서 사용되는 컴포넌트 / 권한(Permission) / 앱에서 요구하는 하드웨어와 소프트웨어 특징

 

Manifest의 패키지 네임 사용 목적

1. App resource에 접근하는데 사용되는 R클래스 네임스페이스로 적용

2. Manifest 파일 내에서 선언된 상대경로에 적용됨.

예) <activity android:name=".MainActivity> 는 "com.example.MainActivity" 를 가리키는것과 똑같음

 

 

App Components

4대 컴포넌트 : 

Activity

Service

Broadcast Receiver

Content Provider

 

4대 컴포넌트는 각각 인텐트에 의해 활성화 된다. 인텐트는 메세지 객체로, 어떤 해옹을 수행할지에 대한 명령이나 작업에 필요한 데이터를 포함한다. 

앱이 인텐트를 시스템에 발행하면, 시스템은 각 앱의 매네페스트에 선언된 intent-filter에 기초하여 처리할 수 있는 인텐트 컴포넌트를 찾게 된다.

 

Permissions

민감한 유저 정보나 카메라나 인터넷 등 특정 시스템 기능을 사용할 때 권한 요청을 해야한다.SMS전송에 대한 권한을 요청할때

<manifest ... >
    <uses-permission android:name="android.permission.SEND_SMS"/>
    ...
</manifest>

 

하드웨어나 소프트웨어 특징 (기기호환성)

예) 카메라 앱을 만들 경우에 카메라가 필수로 있어야하니 카메라가 있는 기기에서만, Play Store에서 해당 앱이 다운로드 될 수 있도록 명시할 수 있다.

<uses-feature>요소를 사용하여 앱에 필요한 기능을 선언할 수 있다. 

예) 나침판 센서가 없는 기기에서 앱이 기본적인 기능을 실행할 수 없다면, 필요에 따라 나침반 센서를 선언할 수 있다.

 

 

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

 

앱 매니페스트 개요  |  Android 개발자  |  Android Developers

앱 매니페스트 개요 모든 앱 프로젝트는 프로젝트 소스 세트의 루트에 AndroidManifest.xml 파일(정확히 이 이름)이 있어야 합니다. 매니페스트 파일은 Android 빌드 도구, Android 운영체제 및 Google Play에

developer.android.com

https://readystory.tistory.com/187

 

[Android] Manifest 개념 잡기

안드로이드 프로젝트에는 반드시 포함되어야 하는 파일이 있습니다. 그건 바로 AndroidManifest.xml 파일입니다. Manifest 파일은 프로젝트의 Source Set의 루트(별도의 설정을 하지 않았다면 src/main)에 위

readystory.tistory.com

 

728x90