从零开始自定义安卓系统(2) 编译redroid
从零开始自定义安卓系统(2) 编译redroid
添加redroid补丁
redroid添加了自己的补丁
 |  | 
具体补丁内容可以查看 仓库 对应文件夹
准备编译
 |  | 
这个envsetup.sh文件里添加了很多辅助函数 可以使用hmm查看. 最常用的几个
m编译整个项目mm编译当前目录项目croot回到项目根目录lunch选择编译目标
大部分只是简单的命令套壳无需关心, 剩下的也只是调用 build/soong/soong_ui.bash 这个脚本
这个脚本有 "--make-mode" "--dumpvar-mode" "--dumpvars-mode" "--build-mode" 四个选项
--dumpvar-mode 用于从整个项目里获取编译变量设置, get_build_var 就简单封装了这个功能
lunch 获取可用编译目标 就是调用 get_build_var COMMON_LUNCH_CHOICES (这个可以在命令行里直接执行)
可以看到输出里面出现了redroid开头的四个选项,
 |  | 
这是redroid添加的 位于device/redroid/AndroidProducts.mk,
然后执行
 |  | 
同步git lfs文件, 原版是不需要的. 但是redroid 在external/chromium-webview/prebuilt/ 添加了lfs项目, 如果速度很慢,可以考虑直接下载而不是走`lfs
接着执行
m # -j x
等待很长一段时间后,就能在 out/target/ 看到产物
编译完成打包成docker
 |  | 
配置环境 参考文档
 |  | 
出现闪退错误使用命令排查
sudo dmesg -T