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