OmniROM:包含並自動同步TWRP

知名第三方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的源碼就會同步到相應的目錄中,完成之後即可開始編譯了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章