OpenGrok 是一个极速的源代码搜索与交叉引用引擎。使用它你可以快速搜索,定位,交叉引用源代码。它 可以识别各种各样的编程语言以及各种各样的版本控制系统。安卓 6.0 的源代码仓库异常庞大,仓库有 16G, 检出最新版本源码之后有 35G,使用OpenGrok可以大大加快源代码的搜索与定位,提高生产力。OpenGrok 使用 Java 编写。这是它的官方站点。
AOSP 构建系统是一个十分庞大和复杂的编译系统,且仍然一直在发展当中。从 Android 6.0 开始, Google 一直致力于加快编译速度,为使增量开发更加便捷,对 AOSP 的编译系统进行了较大的更改, 编译工具由 make 变更为 ninja。本文将深入介绍 AOSP 的构建系统。
有多种方法可以生成 Patch。分享一下使用 diff,Patch 或者 使用 git 制作 Patch 的方法。 diff 以及 git diff 命令的输出比较怪异,但是它们又是差异比较的关键所在。Patch 文件的内容 一般都是统一 diff 格式。所以正确理解 diff 的格式输出十分重要。
通配符和正则表达式在命令行以及文本处理方面非常有用。当在命令行工作时,使用通配符扩展文件名;
当使用 grep, awk, sed
等处理文本时,使用正在表达式匹配文本。 这里做一下总结:
通配符用于路径名扩展,而正则表达式用于文本匹配。
本文介绍 GNU make 的 Makefile 语法。