知名第三方Recovery TWRP与OmniROM合作,将其最新的代码托管到OmniROM的仓库中(https://github.com/omnirom/android_bootable_recovery)。不过默认情况下,使用`repo init初始化OmniROM manifest的时候,TWRP并未被包含进去,实际下载到的
bootable/recovery`是AOSP的版本。
一种解决思路是手动git clone
TWRP的源码,不过由于它未被包含进manifest中,因此下次运行repo sync
时,它所在的目录会被覆盖,得不偿失。
正确的办法是,更改OmniROM的manifest文件,在其中包含TWRP。
假设当前目录在OmniROM源码的根目录下。
第一步:删除AOSP的Recovery所对应的manifest项目
打开.repo/manifest.xml
(为.repo/manifests/default.xml
的符号链接),删除或注释掉这一行:
1 |
|
第二步:在OmniROM的manifest中加入TWRP的manifest项目
TWRP包含以下项目:
- 本体:https://github.com/omnirom/android_bootable_recovery
- Busybox:https://github.com/omnirom/android_external_busybox
其中,TWRP的使用和运行离不开Busybox,一方面是shell和常用的工具都由它提供,而另一方面TWRP的一些库也依赖它。
打开.repo/manifests/omni-default.xml
,在<manifest>
节的尾部添加:
1 |
|
第三步:重新同步
回到源码根目录,重新同步源码:
1 |
|
参数中加上--force-sync
,要求repo强制同步,将产生同步冲突等问题的项目强行覆盖掉;-f
表示连接有问题也继续同步;-j4
表示一次开启4个线程(根据处理器和网络状况而定)。
稍等片刻,TWRP的源码就会同步到相应的目录中,完成之后即可开始编译了。
- 本文作者: 爱拼安小匠
- 本文链接: https://anclark.github.io/2018/09/10/Android_Adapting_Note/OmniROM:包含并自动同步TWRP/
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0(署名-非商用-禁止演绎 3.0) 许可协议。转载请注明出处!