Jetpack 是一套库,旨在帮助开发者遵循最佳实践、减少样板代码,并编写在不同 Android 版本和设备上都能稳定运行的代码,从而让开发者能够专注于他们关心的代码。
Jetpack Compose
一个用于构建原生界面的现代化工具包,可让您简化并加速 Android 上的界面开发。

为什么使用 Android Jetpack?

Android Jetpack 库围绕现代设计实践构建,内置向后兼容性,可减少崩溃和内存泄漏。
Android Jetpack 管理后台任务、导航和生命周期管理等繁琐活动,因此您可以专注于让您的应用更出色的方面。
通过在不同 Android 版本和设备上都能稳定运行的库来降低复杂性。

* 常用库优先列出

activity *访问基于 Activity 构建的可组合 API。
appcompat *允许在旧版平台 API 上访问新 API(许多使用 Material Design)。
appsearch *为您的用户构建自定义应用内搜索功能。
camera *构建移动相机应用。
compose *使用可组合函数以编程方式定义您的 UI,这些函数描述其形状和数据依赖性。
databinding *使用声明式格式将布局中的 UI 组件绑定到应用中的数据源。
fragment *将您的应用划分为多个独立的屏幕,这些屏幕托管在 Activity 中。
hilt *扩展 Dagger Hilt 的功能,以实现 androidx 库中某些类的依赖注入。
lifecycle *构建生命周期感知组件,这些组件可以根据 activity 或 fragment 的当前生命周期状态调整行为。
Material Design 组件 * 适用于 Android 的模块化、可自定义的 Material Design UI 组件。
navigation *构建和组织您的应用内 UI,处理深层链接,并在屏幕之间导航。
paging *分批加载数据,并在 RecyclerView 中呈现。
room *创建、存储和管理由 SQLite 数据库支持的持久数据。
test *Android 中的测试。
work *调度和执行可延迟的、基于约束的后台任务。
ads获取广告 ID,无论是否使用 Play 服务。
annotation公开元数据,帮助工具和其他开发者理解您的应用代码。
appfunctions待办
arch.core其他架构依赖项的助手,包括可与 LiveData 一起使用的 JUnit 测试规则。
asynclayoutinflater异步膨胀布局以避免 UI 卡顿。
autofill通过扩展提示提高自动填充的准确性。
benchmark在 Android Studio 中准确衡量代码性能。
biometric使用生物识别或设备凭据进行身份验证,并执行加密操作。
bluetooth使用 Android 平台的蓝牙功能,支持向后兼容的 API。
browser在用户的默认浏览器中显示网页。
camera.featurecombinationquery待办
camera.media3待办
camera.viewfinder用于相机的独立可组合视图和基于视图的取景器
car-app为 Android Auto 和 Android Automotive OS 构建模板化应用。
cardview实现带有圆角和阴影的 Material Design 卡片模式。
collection减少现有和新小集合的内存影响。
compose.animation在其 Jetpack Compose 应用中构建动画,以丰富用户体验。
compose.compiler使用 Kotlin 编译器插件转换 @Composable 函数并启用优化。
compose.foundation使用现成的构建块编写 Jetpack Compose 应用,并扩展基础以构建您自己的设计系统组件。
compose.material使用现成的 Material Design 组件构建 Jetpack Compose UI。这是 Compose 的高级入口点,旨在提供与 www.material.io 所述组件匹配的组件。
compose.material3使用 Material Design 3 组件构建 Jetpack Compose UI,Material Design 的下一代演进。Material 3 包含更新的主题和组件以及 Material You 个性化功能,如动态颜色,旨在与新的 Android 12 视觉样式和系统 UI 保持一致。
compose.material3.adaptive使用 Material 3 自适应库创建自适应 UI,这些 UI 将根据当前的窗口配置(如窗口大小类别或设备姿态)自动调整。该库提供默认的脚手架实现和必要的构建块可组合项,以创建您自己的自定义体验。
compose.runtimeCompose 编程模型和状态管理的基本构建块,以及 Compose 编译器插件的核心运行时目标。
compose.uiCompose UI 的基本组件,用于与设备交互,包括布局、绘图和输入。
concurrent使用协程将任务移出主线程,并利用 ListenableFuture。
constraintlayout使用相对定位以灵活的方式定位和调整微件大小。
contentpager在后台线程中加载和分页 ContentProvider 数据。
coordinatorlayout定位顶级应用微件,例如 AppBarLayout 和 FloatingActionButton。
core支持旧设备的同时,适配最新的平台功能和 API。
core.uwb在支持的设备上实现 UWB(超宽带)。
credentials此库提供对用户凭据的统一访问。这可能包括密码、通行密钥和联邦凭据。应使用此库提供无缝且安全的登录体验。
credentials.providerevents待办
credentials.registry为解决这些问题,我们正在添加一种新的注册机制,允许应用以保护隐私的方式提供数字凭据。从高层次来看,提供方应用会将所有候选数字凭据预先注册到凭据管理器;当凭据管理器收到应用请求特定数字凭据时,它将在沙盒中运行凭据匹配和用户选择器 UI。
cursoradapter将 Cursor 数据暴露给 ListView 微件。
customview实现自定义视图。
datastore异步、一致且事务性地存储数据,克服 SharedPreferences 的一些缺点
documentfile查看文件文档。
draganddrop接受来自其他应用或应用内的拖放数据,并显示一致的放置目标提示。
drawerlayout实现 Material Design 抽屉式微件。
dynamicanimation使用基于物理的动画 API 创建平滑动画。
emoji在当前和旧设备中显示表情符号。
emoji2在当前和旧设备中显示表情符号。
enterprise创建企业级应用。
exifinterface读取和写入图像文件 EXIF 标签。
games在您的应用中原生使用 Android 游戏 SDK 来执行复杂的游戏任务,例如帧步调。
glance使用 Jetpack Compose 风格的 API 为远程表面构建布局。
graphics在多个 Android 平台版本中利用图形功能
gridlayout实现网格布局。
health以平台无关的方式创建高性能健康应用。
health.connect允许开发者读取或写入用户的健康和健身记录。
heifwriter使用 Android 设备上可用的编解码器,以 HEIF 格式编码图像或图像集合。
ink启发一流的钢笔应用。降低开发者进入门槛,实现高性能、美观的书写体验。
input通过预测未来的 MotionEvents 来减少输入交互的延迟
interpolator在旧平台上使用动画插值器。
javascriptengine使您的 Android 应用能够评估 JavaScript。
jetifier一个独立工具,用于将库对已弃用的支持库的依赖项迁移到等效的 AndroidX 依赖项。
leanback请使用 Compose for TV 而非此工件。
legacy此工件及其类已弃用。从 Android 8 开始,后台检查限制使此类不再有用。
lintLint 检查以验证 Gradle API 的使用情况
loader为您的 UI 加载可在配置更改后保留的数据。
localbroadcastmanager此工件及其类已弃用。请改用 LiveData 或响应式流。
media与其他应用共享媒体内容和控制。已被 media3 取代。
media3 *媒体用例的支持库。
mediarouter使用通用用户界面在远程接收设备上启用媒体显示和播放。
multidex在 Android 5 之前的设备上部署包含多个 dex 文件的应用。
metrics跟踪和报告应用程序的各种运行时指标
navigation3Navigation 3 是一个旨在与 Compose 配合使用的新导航库。
navigationeventNavigation Event 库提供了一个 KMP 优先的 API,用于处理系统返回以及 [预测性返回](/guide/navigation/custom-back/predictive-back-gesture)。
palette从图像中提取代表性调色板。
pdf一个用于在应用内部添加 PDF 查看功能的库。
percentlayout此工件及其类已弃用。请改用 ConstraintLayout 和相关布局。
performance提供用于性能优化的源注解。
photopicker此库为 Compose 和 Android Views 提供了嵌入式照片选择器的集成。
preference构建交互式设置屏幕,无需与设备存储交互或管理 UI。
print从您的应用打印照片、文档以及其他图形和图像。
privacysandbox.activity待办
privacysandbox.ads此库实现了与隐私保护 API 的集成,这些 API 是 Android 隐私沙盒的一部分。
privacysandbox.pluginsAndroid 隐私沙盒 SDK 库 Gradle 插件
privacysandbox.sdkruntime此库为 SdkRuntime 感知消费者提供组件
privacysandbox.tools一个用于利用 Android 中隐私沙盒功能的库
privacysandbox.ui待办
profileinstaller使库能够预先填充 ART 可读取的编译跟踪信息。
recommendation将内容推广到 Android TV 启动器主屏幕。
recyclerview在您的 UI 中显示大量数据,同时最大限度地减少内存使用。
remotecallback创建一个包装器,使开发者更容易提供 PendingIntent。
resourceinspection在 Android Studio 的实时布局检查器中显示自定义视图的属性。
savedstate编写可插拔组件,在进程终止时保存 UI 状态,并在进程重新启动时恢复。
security安全管理密钥并加密文件和 SharedPreferences。
sharetarget为使用快捷方式作为直接共享目标提供向后兼容性。
slice在应用外部显示模板化 UI 元素。
slidingpanelayout实现滑动窗格 UI 模式。
startup实现一种简单、高效的方式,在应用启动时初始化组件。
sqlite使用本地 SQLite 数据库。如果可能,请改用 Room。
swiperefreshlayout实现滑动刷新 UI 模式。
test.uiautomator跨应用功能 UI 测试框架
textclassifier识别文本中的对话、链接、选择以及其他类似结构。
tracing将跟踪事件写入系统跟踪缓冲区。
transition使用起始和结束布局在 UI 中实现动画效果。
tv为开发者提供 Compose 和 Material Design 功能,以便为 TV 编写应用
tvprovider提供 Android TV 频道。
xr.arcore利用感知能力将数字内容带入现实世界。
xr.compose声明式地构建利用 Android XR 空间能力的立体 UI 布局。
xr.compose.material3使用 Material 组件和适用于 XR 的布局进行构建
xr.runtime使用我们的原生运行时启动您的自定义 AR 或 3D 会话。
xr.scenecore使用 3D 内容构建和操作 Android XR 场景图。
vectordrawable渲染矢量图形。
versionedparcelable提供一种稳定且紧凑的二进制序列化格式,可在进程间传递或安全地持久化。
viewpager以可滑动格式显示视图或片段。如果可能,请改用 viewpager2。
viewpager2以可滑动格式显示视图或片段。
wear为 Google 智能手表上的 Wear OS 创建应用。
wear.compose通过提供支持不同设备尺寸和导航手势的功能,为 Wear OS 设备编写 Jetpack Compose 应用。
wear.protolayout此库允许定义一组 UI 布局和非 UI 表达式,以便在远程表面上渲染/评估。
wear.tiles为 Google 智能手表上的 Wear OS 创建应用。
wear.watchface为 Google 智能手表上的 Wear OS 创建应用。
webkit在 Android 5 及更高版本上使用现代 WebView API。
window有助于支持不同的设备外形,例如可折叠设备。
window.extensions.core窗口管理器库扩展的核心 API

学习使用 Jetpack

在“使用 Compose 的 Android 基础知识”课程中学习必要的 Jetpack 库,并减少应用中的样板代码
动手使用简化数据层的三个 Jetpack 库:LiveData、ViewModel 和 Room
探索最受欢迎的 Jetpack 库如何在生产级应用中协同使用

新闻和视频