教程003-简单扩展
需求¶
看完 教程002-设计思路 之后,知道基本上设计思路了。但如果扩展呢?
假设我是小米员工,我发现配置 scripts/configs/aosp.gradle 中 SettingsProvider 模块配置的源码路径缺少小米自定义的一些路径,那我如何修改呢?
本文中我们都以 小米、SettingsProvider 模块举例。
方案1¶
直接在 scripts/configs/aosp.gradle 里对应的模块(SettingsProvider)修改。
方案2¶
新增自己的 configs 配置。
其实这个工程有很多分支,我预留了国内几家主流的手机厂分支以及 lineage 分支等。 如果没有可以自行配置。
在 scripts/configs 目录下新增 miui.gradle ,然后新增:
ext {
miuiDir = rootProject.ext.aospRoot
miuiVendorDir = "$miuiDir/miui"
miui = [
root : "$miuiDir",
SettingsProvider : [
manifest: "",
res : [],
assets : [],
jni : "",
src : [],
srcjars : [],
aidl : [],
],
]
}
添加 SettingsProvider 模块的源码路径。
找到 aosp-modules/SettingsProvider/build.gradle 修改:
改成
是不是很简单?
当然这针对于有现成模块的基本上(aosp-modules/SettingsProvider),如果是新增一个模块基本上也是这个思路。
这个扩展方案存在一定的缺陷,也就是修改之后,会改掉 as-aosp 仓的代码,就不方便同步最新的代码了。
在后面的 教程004-插件扩展 方案中,可以随意扩展你想要添加的模块,并且能随着同步最 as-aosp 新代码。