Android 10에서는 GSI가 출시 서명되었기 때문에 CSI-on-GSI/VTS 규정 준수 테스트를 실행하는 데 사용되는 일반 시스템 이미지(GSI)가 userdebug에서 user 빌드 유형으로 변경되었습니다. 그러나 테스트 중인 Android 기기의 호스트 루트 권한을 제공하는 adb root
명령어는 user 빌드에서 사용할 수 없습니다. VTS를 실행하려면 adb root
가 필요하기 때문에 발생하는 문제입니다.
디버그 ramdisk는 기기가 잠금 해제된 경우에 adb root
를 가능하게 하기 위해 Android 10에 도입되었습니다. 이렇게 하면 동일한 user 빌드 GSI system.img
를 재사용하여 테스트 플로우를 간소화할 수 있습니다. STS 설정에서는 여전히 또 다른 userdebug OEM system.img
를 사용해야 합니다. 다음 표에는 Android 10에서의 규정 준수 테스트와 관련된 이미지와 빌드 유형이 나와 있습니다.
테스트 제품군 | 테스트에 사용할 항목 | 빌드 | 디버그 ramdisk | adb 루트 여부 | Android 9 -> 10 빌드 변형 변경 |
---|---|---|---|---|---|
CTS | OEM 시스템 | user | 아니요 | 아니요 | 변경사항 없음 |
CTS-on-GSI | GSI | user | 아니요 | 아니요 | userdebug -> user GSI 출시 서명됨 |
STS | OEM 시스템 | userdebug | 아니요 | 예 | Q의 새로운 기능 |
VTS | GSI | user | 예 | 예 | userdebug -> user GSI 출시 서명됨 |
디버그 ramdisk 사용을 위한 필수 요건
디버그 ramdisk는 규정 준수 테스트를 실행하는 OEM에서 제공됩니다. 디버그 ramdisk는 출시 서명되어서는 안 되고 기기가 잠금 해제된 경우에만 사용할 수 있습니다.
다음과 같은 방법으로 기기를 업그레이드할 때에는 디버그 ramdisk는 생성되거나 사용되지 않습니다.
BOARD_BUILD_SYSTEM_ROOT_IMAGE
true- 커널 명령줄의
skip_initramfs
AOSP 변경사항
AOSP의 디버그 ramdisk 변경사항은 debug_ramdisk
해시태그를 통해 식별됩니다.
빌드 폴더 out/target/product/$(TARGET_DEVICE)
아래에 다음과 같은 추가 이미지 파일이 생성됩니다.
ramdisk-debug.img
boot-debug.img
기기의 /boot
파티션에 boot-debug.img
가 플래시되면 시스템 sepolicy 파일의 userdebug 버전과 추가 속성 파일 adb_debug.prop
가 로드됩니다. 이렇게 하면 user 빌드 system.img
(GSI 또는 OEM)를 통해 adb root
가 가능합니다.