大型 Android 系统重构实战
黄俊彬
Thoughtworks 资深咨询师
2840 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 29 讲
大型 Android 系统重构实战
15
15
1.0x
00:00/00:00
登录|注册

23|Android系统开发:Android系统开发的版本管理、编译与自动化测试

你好,我是黄俊彬。
这节课起,我们进入到扩展篇的学习。扩展篇我们将从系统角度,学习定制 Android 系统的一些常见问题和解决思路。一起了解定制 Android 系统中常见的一些开发方式、架构问题以及解耦思路。
从应用到系统开发,代码量从几十万行增长到几千万行,开发框架以及编译环境等与应用开发也不一样。所以如果要学习 Android 系统开发,我们需要先了解对应的开发框架及工具链。
今天,我们就来聊聊 Android 系统开发的版本管理、编译调试以及相关的自动化测试等实践,了解引入这些工具及实践的目的。在实践过程中用好这些工具,会大大提升开发效率。

Repo & Gerrit 代码管理

我们先来看看代码的管理。由于 Android 源码的代码量庞大,采用的是多个 Git 仓库来管理代码。你可以通过 GoogleSource 查看对应的仓库,大约有 3000 个仓库。
那么,假如有一个需求开发涉及到跨多个仓库的修改,我们怎么来维护代码提交以及同步工作呢?
为了解决这个问题,官方提供了一个多 Git 仓代码管理的工具—— Repo。根据官网的介绍,Repo 不会取代 Git,目的是帮助我们在 Android 环境中更轻松地使用 Git。
Repo 将多个 Git 项目汇总到一个 Manifest 文件中,使用 Repo 命令来并发操作多个 Git 仓库的代码提交与代码同步很方便。我用表格梳理了一些 Repo 常用的命令,供你参考。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入介绍了Android系统开发中的版本管理、编译调试以及自动化测试等实践。首先介绍了Repo & Gerrit代码管理工具,通过Repo命令并发操作多个Git仓库的代码提交与代码同步,以及Gerrit基于网页的代码审核系统。接着详细介绍了Soong编译系统,该系统取代了Make,利用构建系统组件来加速Android的构建。最后,讨论了Android系统中的自动化测试,包括CTS和VTS测试套件,以及如何在Android系统中添加测试模块并执行测试用例。整体而言,本文对于想要深入了解Android系统定制开发的读者具有很高的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《大型 Android 系统重构实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • peter
    请教老师几个问题: Q1:构建系统Bazel怎么体现?是在AS的新版本中吗?或者在AS的老版本中可以设置Bazel? Q2:从求职的角度,安卓系统开发要重点关注哪些方面?对某一个方面,怎么学习更好? Q3:安卓APP开发完成后,怎么发布该APP? --- 在哪些应用市场发布? --- 可以自己放在一个地方,让用户通过二维码扫码来下载吗?

    作者回复: Hi,peter。 Q1:可以参考一下官网的介绍:https://bazel.build/ Q2:对于Android系统,我觉得有2个方向,一个是从整体的架构去学习,另一方面是深入到某个业务领域,例如多媒体、通信等等。 Q3:正式版本一般通过应用市场(国内的众多应用市场)发布。一般内测才通过二维码这种体验下载(例如蒲公英 https://www.pgyer.com/app/distribution)

    2023-04-03归属地:北京
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部