付録 A、RRO の使用

ランタイム リソース オーバーレイ(RRO)は、/vendor/overlays フォルダ(起動時に自動的に読み取られる)にプッシュするか、adb install を実行してインストールできます。後者の場合、より高速な反復処理が可能です。ただし、これによって同じ RRO が 2 つの場所(/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.xmltargetPackage 宣言で再確認可能)か、RRO で定義されたリソースの一部が、ターゲット内のどのリソースとも一致していないことを示しています。

RRO の有効化と無効化

RRO を有効または無効にするには、次のように目的のコマンドを実行します。

  • 有効にする:
    adb shell cmd overlay enable --user current <rro-package-name>

  • 無効にする:
    adb shell cmd overlay disable --user current <rro-package-name>