Android Jetpack 使用入门

Jetpack 包含一系列 Android 库,它们都采用最佳做法并在 Android 应用中提供向后兼容性。

Jetpack 应用架构指南概述了构建 Android 应用时要考虑的最佳做法和推荐架构。

下文介绍了如何开始使用 Jetpack 组件。

在应用中使用 Jetpack 库

所有 Jetpack 组件都可在 Google Maven 代码库中找到。

打开 settings.gradle 文件,将 google() 代码库添加到 dependencyResolutionManagement { repositories {...}} 块中,如下所示:

Groovy

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

Kotlin

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

然后,您可以在模块的 build.gradle 文件中添加 Jetpack 组件(例如 LiveDataViewModel 等架构组件),如下所示:

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 库都提供 Android KTX 扩展,如上面的 lifecycle-livedata-ktxlifecycle-viewmodel-ktx 所示。KTX 扩展在基于 Java 的 API 基础上构建,充分利用了 Kotlin 特有的语言功能。

如需了解新的 Jetpack 库版本,请查看版本页面。

基于 Kotlin 以及基于 Java 的 API 参考文档页面适用于所有 Jetpack 库。

验证 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

视频