接下来就可以同步源码了,以4.1为例创建并进入baidurom文件夹
mkdir -p ~/baidurom
cd ~/baidurom
通过repo init命令的-b参数, 选择需要下载的分支(譬如coron-4.1)。
通过repo sync命令同步远程代码:
repo init -u https://github.com/baidurom/manifest.git -b coron-4.1
repo sync
如果连接一直失败或下载代码过慢,则使用以下命令:【推荐使用】
repo init –repo-url git://github.com/baidurom/repo.git -u https://github.com/baidurom/manifest.git -b coron-4.1 –no-repo-verify
repo sync –no-clone-bundle -c -j8
百度云OS移植
下载完代码以后, 在开源项目根目录, 执行以下命令初始化开发环境:
source build/envsetup.sh
创建一个新的机型工程的目录(以demo为例), 后续的移植都在机型目录完成。
mkdir -p devices/demo
cd devices/demo
准备工作:
将手机的recovery.img(推荐使用recovery.fstab),boot.img非必须因机型而议,放入到demo文件夹里
#适配的基本步骤:
1) coron config: 从手机或已有的原厂底包中拉取boot.img和recovery.img,生成Makefile
2) coron newproject: 从手机或已有的原厂底包中拉取原厂的所有文件,构建一个新机型工程
3) coron patchall: 自动 Patch 需要植入的代码。既插桩
4) coron autofix: 自动补充缺失的接口,并自动解冲突【不建议使用此方法但是可以用来作为插桩的参考】
5) coron fullota: 编译机型,生成最终的卡刷包或可以刷入手机的 image
拉包方式:
1.从原厂底包中拉包暨OTA拉包:
只需将 原厂底包-卡刷包 重命名为 ota.zip
切记手机不要与电脑连接
执行coron config 命令即可生成Makefile文件
注意:Makefile文件中 DENSITY和 RESOLUTION可能与机型不符,手动修改即可
如:DENSITY := hdpi
RESOLUTION := 540×960
2.从手机中拉包
需要将手机与电脑连接并开启USB调试模式
执行coron config 命令即可生成Makefile文件
提示:4.0以上版本执行命令之后,需要 拔 插 一下数据线,4.0版本无需此操作
PS:
如果使用OTA拉包,fullota的包WIFI可能无法正常使用,一直显示正在连接
如果使用手机拉包,vendor/system/etc/ 会缺失 dbus.conf文件直接导致卡开机动画
etc,bin等文件夹下或许还会缺失其他文件
建议: 先OTA拉包,然后再手机拉包接着用BC对比vendor目录补入缺失文件
打LOG部分, 刷入FULLOTA包之前先打次log,这样就可以很清楚你所插的百度云OS打的log中哪些问题是底包本身就存在的问题一般直接无视
bcompare的使用
两项对比:
bcompare framework-res/AndroidManifest.xml out/reject/framework-res/AndroidManifest.xml.reject
三项对比:
bcompare autopatch/bosp/framework-res/AndroidManifest.xml framework-res/AndroidManifest.xml out/reject/framework-res/AndroidManifest.xml.reject