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() } }
然后,您可以在模块的 build.gradle
文件中添加 Jetpack 组件,例如 LiveData 和 ViewModel 等架构组件,如下所示
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-ktx
和 lifecycle-viewmodel-ktx
。KTX 扩展基于 Java API 构建,利用了 Kotlin 特有的语言特性。
要了解新的 Jetpack 库版本,请查看版本页面。
所有 Jetpack 库都提供基于 Kotlin 和基于 Java 的 API 参考页面。
验证 Jetpack 依赖项(可选)
截至 2023 年 6 月,Jetpack 团队对 Jetpack 库进行签名。这些签名允许开发者验证库 artifact 是否由 Google 构建和签名。库发布更新后,即可进行签名验证。
如果您的 Android 项目启用了签名验证,请按照以下步骤在 Gradle 项目中验证 Jetpack 依赖项
将 Google 的可信密钥添加到
$PROJECT_ROOT/gradle/verification-metadata.xml
中的<trusted-keys>
部分<trusted-keys> <trusted-key id="8461efa0e74abae010de66994eb27db2a3b88b8b"> ... </trusted-key> <trusted-key id="a5f483cd733a4ebaea378b2ae88979fb9b30acf2"> ... </trusted-key> <trusted-key id="0f06ff86beeaf4e71866ee5232ee5355a6bc6e42"> ... </trusted-key> <trusted-key id="0e225917414670f4442c250dfd533c07c264648f"> ... </trusted-key> ... </trusted-keys>
为项目使用的每个库添加一个
<trusting group>
条目。以下是androidx.fragment
和androidx.emoji2
库的示例<trusted-keys> <trusted-key id="8461efa0e74abae010de66994eb27db2a3b88b8b"> <trusting group="androidx.fragment"/> <trusting group="androidx.emoji2"/> </trusted-key> <trusted-key id="a5f483cd733a4ebaea378b2ae88979fb9b30acf2"> <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 的信息,请查看这些页面
其他资源
在线培训
- 使用 Kotlin 开发 Android 应用 (Udacity 课程)
示例代码
- Sunflower 演示应用使用了许多不同的 Jetpack 组件来展示 Android 开发最佳实践。