일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- TEST
- Compose
- 앱
- Dialog
- 계측
- android
- 안드로이드
- Button
- Kotlin
- appbar
- Navigation
- intent
- CustomScrollView
- 앱바
- data
- textfield
- DART
- Coroutines
- viewmodel
- binding
- drift
- LifeCycle
- textview
- 테스트
- activity
- Flutter
- tabbar
- ScrollView
- scroll
- livedata
- Today
- Total
Study Record
[안드로이드] 매니패스트 개요 본문
모든 앱 프로젝트에는 AndroidManifest.xml 파일이 있다. 이 파일은 Android 빌드 도구, 운영체제 및 Google play 앱에 관한 필수 정보를 설명한다.
😶 매니패스트에 선언해야 할 내용
앱의 패키지 이름
매니패스트 파일에는 앱 패키지 이름을 필수적으로 입력해야 한다. package="com.example.myapp" 과 같은 형식이다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
android:versionCode="1"
android:versionName="1.0" >
...
</manifest>
패키지 이름과 applicationId 라는 개념이 있는데 이 applicationId 는 기본적으로 패키지 이름과 동일하다. 따라서 이 값을 동일하게 유지한다면 아무런 조치를 취하지 않아도 된다. (특히 패키지 이름을 수정할 때는 주의해야 한다.)
* applicatioId 는 Google play 에 앱을 개시할 때 앱들을 고유하게 식별하게 해 준다. 따라서 앱을 개시한 후에는 applicationId 를 변경해서는 안된다.
(build.gradle 파일의 applicationId 예시)
android {
defaultConfig {
applicationId "com.example.myapp"
minSdkVersion 15
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
...
}
앱의 구성 요소
앱의 구성 요소에는 activity, service, Broadcast Receiver, 콘텐츠 제공자가 있다. 이 앱의 구성 요소는 모두 매니패스트 파일에 기재되어야 한다. 구성 요소의 시작을 설명하는 인텐트 필터와 같은 기능도 선언할 수 있다.
<manifest package="com.example.myapp" ... >
<application ... >
<activity android:name=".MainActivity" ... >
...
</activity>
</application>
</manifest>
앱의 권한
안드로이드에서 인터넷, 블루투스, 카메라, 파일 등에 접근할 때는 사용자에게 허락을 받아야 한다. 앱에서 사용할 권한들을 매니패스트 파일에 선언해야 한다.
<manifest ... >
<uses-permission android:name="android.permission.SEND_SMS"/>
...
</manifest>
Android 6.0 (API 23) 부터 사용자는 런타임에서 일부 앱 권한을 승인하거나 거절할 수 있다. 따라서 매니패스트 파일에 권한을 모두 기재한다고 영구적으로 그 권한을 사용하지 못할 수도 있다. 런타임에서 권한을 요청하는 과정이 있더라도 반드시 매니패스트 파일에 먼저 권한을 선언해야 한다.
앱의 이름과 아이콘
앱의 이름과 아이콘 등 앱에 대한 전반적인 정보를 매니패스트 파일에 기재한다. android:icon 과 android:roundIcon 이 앱 아이콘에 대한 정보이고 android:label 이 앱 이름을 의미한다.
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0"
package="com.example.myapp">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
</application>
</manifest>
'안드로이드' 카테고리의 다른 글
[안드로이드] TextView 속성 값 한번에 정리하기 (0) | 2023.06.12 |
---|---|
[안드로이드] Activity 와 layout 파일 (0) | 2023.06.11 |
다양한 픽셀 밀도 지원(기기에 따른 이미지 지원, sp, dp) (0) | 2023.06.10 |
앱 리소스와 관리 (0) | 2023.06.09 |
개인 정보 처리 방침 (0) | 2023.05.20 |