| name | android-official-samples |
| description | Android 官方示例代码库完整索引。涵盖架构、Compose UI、性能、测试、存储、网络、相机、媒体、安全等所有领域。 安卓开发第一要义:参考官方文档和案例!遇到任何 Android 开发问题,首先查阅官方示例而非第三方博客。 Triggers: "Android 官方示例", "参考官方代码", "Android sample", "官方架构", "Jetpack sample", "Compose 示例", "Room 示例", "Navigation 示例", "如何实现 XX 功能", "最佳实践"
|
Android 官方示例代码库索引
安卓开发第一要义:参考官方文档和案例!
Google 在 https://github.com/android 维护了数百个高质量示例项目,涵盖 Android 开发的方方面面。
遇到任何问题,优先查阅这些官方仓库——它们是 Android 团队维护的权威最佳实践来源,
比第三方博客、StackOverflow 回答更可靠、更新更及时。
💡 最全面的参考仓库:nowinandroid
一个仓库覆盖了 Compose、Room、Hilt、Navigation、Coroutines、WorkManager、Paging、DataStore 八大技术栈,
是 Google 官方维护的生产级参考应用。如果你的技术栈和它相似(Kototoro 就是),
优先以 nowinandroid 为单一参考源,保持模式一致性。
📊 技术栈 → 官方仓库速查表
🏗️ 架构与应用设计 (Architecture & App Design)
这些仓库是学习 Android 应用架构、模块化设计、以及完整应用开发的最佳入口。
| 仓库 | ⭐ | 说明 |
|---|
| architecture-samples | 45.7k | 架构示例集合:展示不同架构模式(MVI、MVVM、UDF)及其演进。UDF + StateFlow 是当前推荐模式。 |
| nowinandroid | 21.4k | 完整功能应用:纯 Kotlin + Jetpack Compose 构建的新闻应用。展示模块化架构、Gradle 版本目录、CI/CD 等生产级实践。架构参考首选。 |
| architecture-templates | 3.1k | 架构模板:官方 Android 项目脚手架,提供 Activity/Compose 等多套模板,快速启动新项目。 |
| sunflower | 17.8k | 园艺应用:展示从 View 迁移到 Jetpack Compose 的最佳实践。含 Room、WorkManager、Navigation、Paging。 |
| platform-samples | 1.7k | 平台 API 示例集:展示不同 Android 平台 API 的使用方法(Notification、Shortcut、ShareSheet 等)。 |
🔗 架构相关 Codelabs
适用场景:应用架构设计、模块化、依赖注入(Hilt)、状态管理、完整应用参考。
🎨 Jetpack Compose & UI
Compose 是现代 Android UI 开发的推荐方式。
🔗 Compose 相关 Codelabs
适用场景:Compose UI 实现、动画、手势、主题、导航、Material3、自适应布局。
💾 数据与存储 (Data & Storage)
🔗 数据相关 Codelabs
适用场景:Room 数据库、DataStore、文件存储、分页加载。
🧪 测试 (Testing)
适用场景:JUnit5 单元测试、Compose UI 测试、Hilt 测试、Espresso。
⚡ 性能 (Performance)
适用场景:启动优化、Jank 诊断、Baseline Profile、内存优化、Macrobenchmark。
📷 相机 (Camera)
| 仓库 | ⭐ | 说明 |
|---|
| camera-samples | 5.4k | CameraX/Camera2 最佳实践集:预览、拍照、录像、图像分析、ML Kit 集成等。 |
适用场景:CameraX、Camera2、相机权限、图像分析。
🔔 通知 (Notifications)
通知示例分布在 user-interface-samples 和 platform-samples 中。
适用场景:下载进度通知、新章节提醒、前台服务。
🔒 安全与隐私 (Security & Privacy)
适用场景:数据加密、生物识别认证、隐私合规。
🌐 网络与连接 (Connectivity)
适用场景:蓝牙通信、NFC、WiFi P2P、网络状态监听。
📍 位置 (Location)
| 仓库 | ⭐ | 说明 |
|---|
| location-samples | 2.7k | 位置 API 最佳实践集:Fused Location Provider、Geofence、Activity Recognition。 |
适用场景:位置获取、地理围栏、活动识别。
🎵 媒体 (Media)
| 仓库 | ⭐ | 说明 |
|---|
| androidx/media | 官方 | ExoPlayer/Media3 主仓库(⚠️ 旧 google/ExoPlayer 已归档,所有开发在此)。含 ExoPlayer 核心、PlayerView、MediaSession、OkHttp DataSource。 |
| media-samples | 1.4k | 媒体 API 最佳实践集:Media3/ExoPlayer、MediaSession、音频焦点管理。 |
| uamp | 13.2k | 音频播放完整示例。 |
| midi-samples | 53 | MIDI 最佳实践。 |
🔗 媒体相关 Codelabs
适用场景:视频/音频播放、Media3/ExoPlayer、MediaSession、音频焦点。
⚠️ ExoPlayer 迁移注意:Google 已将 ExoPlayer 从独立的 google/ExoPlayer 仓库迁移至 androidx/media。旧仓库已归档,所有新 API 和 bug 修复都在 androidx/media。Kototoro 使用的 Media3/ExoPlayer 应参考此仓库。
🔒 安全 (Security)
适用场景:KeyStore、生物识别、数据加密、安全存储。
🎯 后台任务 (Background Tasks)
适用场景:WorkManager 后台任务调度。
⌚ Wear OS
| 仓库 | ⭐ | 说明 |
|---|
| wear-os-samples | 1.4k | Wear OS 最佳实践集:表盘、Complications、Tile、Health Services。 |
🧠 AI/ML
🔧 Kotlin 语言与工具
🎮 NDK / 原生开发 / XR
🚀 如何使用这些官方仓库
1. 遇到问题时的工作流
1. 先查本索引 → 找到相关官方仓库
2. 在仓库中搜索关键词 → 找到具体代码
3. 阅读 README 和代码注释 → 理解上下文
4. 参照实现 → 适配到当前项目
2. 学习新技术时
1. 找到对应的 Codelab 仓库(如 codelab-android-xxx)
2. Clone 后运行 → 观察运行效果
3. 对比 starter/ 和 solution/ 目录 → 理解实现过程
3. 架构决策时
主参考:architecture-samples + nowinandroid
- 看 UDF 模式如何实现
- 看模块化如何划分
- 看测试如何编写
4. Kototoro 项目相关仓库优先级
本项目(Kototoro)使用 Compose + Room + Hilt + Navigation + Coil + ExoPlayer + Coroutines。
以下是按优先级排序的参考仓库:
P0 — 必须参考(核心技术栈完全匹配):
P1 — 强烈推荐(特定功能参考):
P2 — 按需参考:
📚 补充资源
⚠️ 注意事项
-
Google 正在整合示例仓库:一些原本独立的仓库(如 android-testing、android-architecture 的某些子项目)已被合并到 nowinandroid 或 architecture-samples 中。如发现链接失效,在 GitHub 上搜索最新位置。
-
ExoPlayer 迁移:旧仓库 google/ExoPlayer 已归档,所有开发移至 androidx/media。
-
构建系统差异:nowinandroid 使用 Kotlin DSL (.kts),而 Kototoro 的 app/build.gradle 使用 Groovy DSL。学习架构和代码模式,但不要直接复制构建脚本。
-
版本差异:官方示例可能使用较新的 AndroidX 版本或不同的依赖版本。始终参考 Kototoro 的 libs.versions.toml 确定当前使用的版本。