Android Jetpack 시작하기

Jetpack에는 권장사항이 통합되어 있고 Android 앱의 이전 버전과의 호환성을 제공하는 Android 라이브러리 컬렉션이 포함되어 있습니다.

Jetpack 앱 아키텍처 가이드에서는 Android 앱을 빌드할 때 고려할 권장사항 및 권장 아키텍처의 개요를 제공합니다.

다음 섹션에서는 Jetpack 구성요소를 시작하는 방법을 다룹니다.

앱에서 Jetpack 라이브러리 사용

모든 Jetpack 구성요소는 Google Maven 저장소에서 사용할 수 있습니다.

settings.gradle 파일을 열고 아래와 같이 dependencyResolutionManagement { repositories {...}} 블록에 google() 저장소를 추가합니다.

Groovy

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        jcenter()
    }
}

Kotlin

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        jcenter()
    }
}

그런 다음 아래와 같이 Jetpack 구성요소(예: LiveData, ViewModel과 같은 아키텍처 구성요소)를 모듈의 build.gradle 파일에 추가할 수 있습니다.

Groovy

dependencies {
    def lifecycle_version = "2.2.0"

    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
    ...
}

Kotlin

dependencies {
    val lifecycle_version = "2.2.0"

    implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version")
    implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version")
    ...
}

많은 Jetpack 라이브러리에서 lifecycle-livedata-ktxlifecycle-viewmodel-ktx를 통해 위에 나타난 것과 같이 Android KTX 확장 프로그램을 제공합니다. KTX 확장 프로그램은 자바 기반 API를 토대로 빌드되어 Kotlin 관련 언어 기능을 활용합니다.

새로운 Jetpack 라이브러리 출시에 대해 알아보려면 출시 페이지를 확인해 보세요.

모든 Jetpack 라이브러리에서 Kotlin 기반자바 기반 API 참조 페이지를 사용할 수 있습니다.

Jetpack 종속 항목 확인 (선택사항)

2023년 6월부터 Jetpack팀은 Jetpack 라이브러리에 서명합니다. 이러한 서명을 통해 개발자는 라이브러리 아티팩트가 Google에서 빌드하고 서명했는지 확인할 수 있습니다. 라이브러리는 업데이트를 게시한 후에 서명 검증을 할 수 있습니다.

Android 프로젝트에 서명 확인이 사용 설정된 경우 Gradle 프로젝트에서 Jetpack 종속 항목을 확인하려면 다음 단계를 따르세요.

  1. Google의 신뢰할 수 있는 키를 $PROJECT_ROOT/gradle/verification-metadata.xml<trusted-keys> 섹션에 추가합니다.

    <trusted-keys>
        <trusted-key id="8461efa0e74abae010de66994eb27db2a3b88b8b">
            ...
        </trusted-key>
        ...
    </trusted-keys>
    
  2. 프로젝트에서 사용 중인 각 라이브러리의 <trusting group> 항목을 추가합니다. 다음은 androidx.fragmentandroidx.emoji2 라이브러리의 예입니다.

    <trusted-keys>
        <trusted-key id="8461efa0e74abae010de66994eb27db2a3b88b8b">
            <trusting group="androidx.fragment"/>
            <trusting group="androidx.emoji2"/>
        </trusted-key>
        ...
    </trusted-keys>
    

종속 항목 확인 관련 문제는 Gradle의 종속 항목 확인 문제 해결 가이드를 참고하세요.

마지막으로 신뢰할 수 있는 키에 관한 세부정보는 Ubuntu의 키 서버 사이트에서 확인할 수 있습니다.

Jetpack 활용

Jetpack 라이브러리는 앱의 다양한 요구를 해결하기 위해 단독으로 또는 조합하여 사용할 수 있습니다.

  • WorkManager: 백그라운드 일정 예약 요구 해결
  • Room: 데이터 저장소 지속성 해결
  • Navigation: 애플리케이션 탐색 흐름 관리
  • CameraX: 카메라 앱 요구 해결
  • 모든 Jetpack 라이브러리의 개요를 참고하세요.

Jetpack 라이브러리는 androidx 네임스페이스에 게시됩니다. 프로젝트에서 현재 Android 지원 라이브러리를 사용하는 경우 androidx 네임스페이스로 이전하는 방법을 참조하세요.

Jetpack 사용에 관해 자세히 알아보려면 다음 페이지를 참고하세요.

추가 리소스

온라인 교육

샘플 코드

  • Sunflower 데모 앱은 다양한 Jetpack 구성요소를 사용하여 Android 개발 권장사항을 보여줍니다.

Codelab

동영상