Android Studio) 기본 구성과 개념

chaeyoung·2023년 1월 10일
0

Android Studio

목록 보기
1/13

🔗 Manifest

  • 앱에 대한 필수적인 정보를 시스템에 제공하는 목록, 반드시 선언되어야 하는 정보(밑)

1. package name

  • 매니페스트 파일의 Root element()에는 앱 패키지 네임이 반드시 기재되어야 한다.
  • 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{ ... }: 특정 버전을 선택하여 라이브러리에 추가

  1. build.gradle(project): 프로젝트의 공통으로 적용되는 빌드 구성을 정의
plugins {
    ... // 공통으로 적용할 모듈 작성
}

🔗 SDK, NDK

1. SDK(Software Developer's Kit)

 : 안드로이드 소프트웨어를 개발하기 위한 tool Kit(API, 개발에 필요한 도구, 샘플 코드 ...)

  1. NDK(Native Developer's Kit)

    : SDK와 동일, 단, C/C++에서만 이용, 어플리케이션+미들웨어 개발에도 사용

0개의 댓글