附錄 A:使用 RRO

執行階段資源覆蓋層 (RRO) 可以推送至 /vendor/overlays 資料夾 (會在啟動期間自動讀取),也可以透過執行 adb install 進行安裝。後者可加快疊代速度。不過,這可能會導致相同的 RRO 位於兩個位置 (/vendor/overlays/data/app)。

如要推送及重新啟動,請執行:

$ adb root
$ adb remount
$ adb shell mkdir /vendor/overlay/<overlay-name>
$ adb push <path-to-overlay.apk-file> /vendor/overlay/<overlay-name>
$ adb reboot

如要安裝,請執行:

$ adb install <path-to-overlay.apk-file>

如要確認 RRO 可用,請執行:

$ adb shell cmd overlay list --user current
    android
    [ ] com.android.sample_rro
    com.android.sample.targetapp
    [ ] com.android.sample.targetapp_rro

如果新安裝的 RRO 旁邊顯示 ---,表示系統找不到目標 APK (請仔細檢查 AndroidManifest.xml 中的 targetPackage 宣告),或是 RRO 中定義的部分資源與目標中的任何資源不符。

啟用及停用 RRO

如要分別啟用或停用 RRO,請執行所需指令:

  • 啟用:
    adb shell cmd overlay enable --user current <rro-package-name>

  • 停用:
    adb shell cmd overlay disable --user current <rro-package-name>