附錄 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>