美文网首页Android适配
OmniROM:包含并自动同步TWRP

OmniROM:包含并自动同步TWRP

作者: 爱拼安小匠 | 来源:发表于2018-09-10 23:15 被阅读2次

    知名第三方Recovery TWRP与OmniROM合作,将其最新的代码托管到OmniROM的仓库中(https://github.com/omnirom/android_bootable_recovery)。不过默认情况下,使用repo init初始化OmniROM manifest的时候,TWRP并未被包含进去,实际下载到的bootable/recovery是AOSP的版本。

    一种解决思路是手动git cloneTWRP的源码,不过由于它未被包含进manifest中,因此下次运行repo sync时,它所在的目录会被覆盖,得不偿失。

    正确的办法是,更改OmniROM的manifest文件,在其中包含TWRP。

    假设当前目录在OmniROM源码的根目录下。

    第一步:删除AOSP的Recovery所对应的manifest项目

    打开.repo/manifest.xml(为.repo/manifests/default.xml的符号链接),删除或注释掉这一行:

    <project path="bootable/recovery" name="platform/bootable/recovery" groups="pdk" />
    

    第二步:在OmniROM的manifest中加入TWRP的manifest项目

    TWRP包含以下项目:

    其中,TWRP的使用和运行离不开Busybox,一方面是shell和常用的工具都由它提供,而另一方面TWRP的一些库也依赖它。

    打开.repo/manifests/omni-default.xml,在<manifest>节的尾部添加:

      <!-- AnClark ADDED: Omni TWRP repositories -->
      <project name="android_bootable_recovery" path="bootable/recovery" remote="omnirom" revision="android-8.1" />
      <project name="android_external_busybox" path="external/busybox" remote="omnirom" revision="android-8.1" />
    

    第三步:重新同步

    回到源码根目录,重新同步源码:

    repo sync --force-sync -f -j4
    

    参数中加上--force-sync,要求repo强制同步,将产生同步冲突等问题的项目强行覆盖掉;-f表示连接有问题也继续同步;-j4表示一次开启4个线程(根据处理器和网络状况而定)。

    稍等片刻,TWRP的源码就会同步到相应的目录中,完成之后即可开始编译了。

    相关文章

      网友评论

        本文标题:OmniROM:包含并自动同步TWRP

        本文链接:https://www.haomeiwen.com/subject/mmoegftx.html