부록 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>