Manifest
- 앱에 대한 필수적인 정보를 시스템에 제공하는 목록, 반드시 선언되어야 하는 정보(밑)
1. package name
- 매니페스트 파일의 Root element(<manifest></manifest>)에는 앱 패키지 네임이 반드시 기재되어야 한다.
- App Resource 접근하는데 사용하는 R클래스 네임스페이스로 적용하기 위해 사용
- 상대 경로에 적용(ex. <activity android:name=".MainActivity">)
2. App Components
- Activity, Service, Broadcast, Receiver, Content Provider을 사용한다면 매니페스트에 선언해야함
- 4대 컴포넌트들은 각 인텐트 의해 활성화된다.(인텐트: 명령이나 작업에 필요한 데이터를 포함한 메세지 객체)
3. 권한(Permission)
- 민감한 유저 정보, 카메라, 인터넷 등 특정 시스템 기능을 사용할 때 반드시 권한 요청이 필요하다.
4. 앱에서 요구하는 하드웨어/ 소프트웨어 특징(Device Compatibility)
- <uses-feature>태그를 사용하면 명시가능: 다운로드가 가능한 기기를 설정할 수 있음
- <uses-sdk>태그를 통해 요구되는 sdk버전 명시 가능( build.gradle에 선언하는 것이 좋긴함)
Gradle
- 빌드 배포 도구: 안드로이드 스튜디오와 빌드 시스템이 독립적으로 진행된다.
1. build.gradle
: 빌드 구성 스크립트. 의존성, 플러그인 설정 등과 같은 빌드에 필요한 설정을 하게됨
- build.gradle(module): 각 모듈마다 독립된 gradle 파일 존재
plugins {
....
}
android {
namespace 'com.example.dice_app'
compileSdk 32
defaultConfig {
applicationId "com.example.dice_app"
minSdk 21
targetSdk 32
versionCode 1
versionName "1.0"
}
buildTypes {
release {
...
}
}
compileOptions {
...
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
viewBinding true
}
}
dependencies {
....
}
- plugins{ ... }: 안드로이드 전용 빌드 옵션
- android{}: 모든 안드로이드 관련 설정
→ compileSdk: Android API 레벨
→ minSdk: 최소 API 레벨
→ targetSdk: 테스트에 사용하는 API 레벨
- buildTypes{..}: 빌드 타입 종류 지정(release, develoption, staging....)
- dependencies{ ... }: 특정 버전을 선택하여 라이브러리에 추가
- build.gradle(project): 프로젝트의 공통으로 적용되는 빌드 구성을 정의
plugins {
... // 공통으로 적용할 모듈 작성
}
SDK, NDK
1. SDK(Software Developer's Kit)
: 안드로이드 소프트웨어를 개발하기 위한 tool Kit(API, 개발에 필요한 도구, 샘플 코드 ...)
2. NDK(Native Developer's Kit)
: SDK와 동일, 단, C/C++에서만 이용, 어플리케이션+미들웨어 개발에도 사용
'Android Studio' 카테고리의 다른 글
Android Studio) Context란? (0) | 2023.01.06 |
---|---|
Android Studio) 안드로이드 구성 (0) | 2023.01.06 |