Android Studio

Android Studio) 기본 구성과 개념

zs1397 2023. 1. 6. 14:03

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