자동화된 CTS 테스트를 실행하려면 물리적 환경을 준비하고 워크스테이션을 설정하고 테스트할 기기를 구성하세요.
물리적 환경 설정
특정 CTS 테스트에서는 외부 기기를 DUT 근처에 설정해야 합니다. 물리적 환경을 설정하려면 다음 단계를 따르세요.
(선택사항) DUT에서 블루투스 LE를 지원하는 경우 DUT에서 5미터 이내에 3개 이상의 블루투스 LE 비콘을 배치하여 블루투스 LE 검사 테스트를 실시합니다. 또한 다음 사항에 유의하세요.
- 비콘은 구성되거나 특정 항목을 내보낼 필요가 없습니다.
- 비콘은 iBeacon 또는 Eddystone, BLE 비콘 시뮬레이션 기기를 비롯하여 종류에 제한이 없습니다.
벽이나 천장과 같은 장면 앞에 DUT의 최소 초점 거리와 동일한 거리로 휴대전화를 둡니다. 또한 다음 사항에 유의하세요.
- 테스트 중인 센서가
CONTROL_AE_TARGET_FPS_RANGE
에 지정된 최대 구성 타겟 초당 프레임 수(FPS)에 도달하여 이 상태를 유지할 수 있도록 장면은 조명이 충분해야 합니다. - 목록에 있는 모든 기기를 대상으로 테스트가 반복되고 성능이 개별적으로 측정되기 때문에 이 설정은
getCameraIdList
에서 보고된 모든 카메라 센서에 적용됩니다. - DUT가 USB 웹캠과 같은 외부 카메라를 지원하는 경우 CTS를 실행할 때 외부 카메라를 연결합니다. 그러지 않으면 CTS 테스트가 실패합니다.
- 테스트 중인 센서가
(선택사항) DUT에서 위성 위치 확인 시스템(GPS) 또는 기타 글로벌 위성 항법 시스템(GNSS)을 지원하는 경우 수신 및 위치 계산에 적합한 신호 수준으로 DUT에 GNSS 신호를 제공합니다. 또한 다음 사항에 유의하세요.
- GPS는 ICD-GPS-200C를 준수해야 합니다.
- GNSS 신호는 위성 시뮬레이터나 실외 신호 중계기를 비롯하여 종류에 제한이 없습니다.
- 위성에서 직접 GNSS 신호를 충분히 수신할 수 있도록 DUT를 창 가까이 배치할 수 있습니다.
Wi-Fi 네트워크가 IPv4와 IPv6를 지원하고, IPv4 및 IPv6용 DNS가 작동하는 인터넷 연결이 가능하며, IP 멀티캐스트를 지원하고, DUT를 격리된 클라이언트로 처리할 수 있는지 확인합니다.
네이티브 IPv6 네트워크나 IPv6 이동통신사 네트워크, VPN에 대한 액세스 권한이 없어 IPv6 테스트를 통과할 수 없는 경우 Wi-Fi AP 및 IPv6 터널을 사용하세요.
DUT의
UP
,BROADCAST
,MULTICAST
플래그가 Wi-Fi 인터페이스에 설정되어 있는지 확인합니다.Wi-Fi 인터페이스에 IPv4 주소와 IPv6 주소가 할당되어 있는지 확인합니다. Wi-Fi 인터페이스 속성을 확인하려면
adb shell ifconfig
를 실행하세요.(선택사항) DUT에서 Wi-Fi STA 또는 STA 동시 실행을 지원하는 경우 Wi-Fi 네트워크를 두 개 이상 설정합니다. 이러한 Wi-Fi 네트워크는 다른 SSID를 보유한 서로 다른 대역에서 실행되거나 BSSID가 다른 동일한 SSID에서 실행되어야 합니다.
(선택사항) DUT에서 Wi-Fi 왕복 시간(RTT)을 지원하는 경우 Wi-Fi RTT를 지원하는 기기를 다음과 같이 설정합니다.
- Wi-Fi RTT 기기를 DUT에서 12미터 이내에 배치합니다.
- Wi-Fi RTT 기기의 전원을 켭니다.
Wi-Fi RTT를 지원하는 기기는 다음 두 가지가 권장됩니다. - Google Wifi - Compulab의 fitlet2 액세스 포인트(5GHz에서 40MHz 대역폭으로 설정)
데스크톱 컴퓨터 설정
자동화된 CTS 테스트를 실행하기 전에 데스크톱 컴퓨터가 하드웨어 및 운영체제 요구사항을 충족하고 적절한 소프트웨어가 설치되어 있는지 확인하세요(다음 섹션 참고).
하드웨어 요구사항 충족
CTS 데스크톱 컴퓨터는 다음 하드웨어 요구사항을 충족하거나 초과해야 합니다.
64비트 x86 시스템
CTS 테스트 사례 수의 증가와 Tradefed의 Java 힙 공간 예약의 증가를 수용할 수 있는 256GB 이상의 여유 디스크 공간
32GB 이상의 RAM
운영체제 요구사항 충족
개발 머신은 GNU C 라이브러리(glibc)가 2.17 이상인 64비트 Linux 배포판을 실행해야 합니다.
운영체제 언어는 CTS가 경로를 올바르게 확인할 수 있도록 '영어'로 설정되어야 합니다.
데스크톱 소프트웨어 설치
CTS에 적합한 데스크톱 소프트웨어를 설치하려면 다음 단계를 따르세요.
최신 버전의 Android 디버그 브리지(adb) 및 Android Asset Packaging Tool(AAPT2)을 설치하고 이러한 도구의 위치를 컴퓨터의 시스템 경로에 추가합니다.
- SDK Manager 문서 시작 부분의 안내에 따라
sdkmanager
명령줄 도구를 설치합니다. 명령줄 도구 다운로드 링크는 Android 스튜디오 다운로드 페이지 하단의 명령줄 도구만 섹션에 있습니다. - 새로 설치된
sdkmanager
의 위치를 포함하도록 시스템 경로를 업데이트합니다. sdkmanager
를 사용하여 최신platform-tools
및build-tools
패키지를 설치합니다. 이 패키지에는 adb와 AAPT2가 포함되어 있습니다. 패키지 설치에 관한 자세한 내용은 패키지 설치를 참고하세요.- 새로 설치된 adb 및 AAPT2 도구의 위치를 포함하도록 경로를 업데이트합니다.
- adb와 AAPT2가 경로에 있는지 확인합니다.
- SDK Manager 문서 시작 부분의 안내에 따라
적절한 버전의 Java 개발 키트(JDK)를 설치합니다.
- Android 11 이상의 경우 JDK 11을 설치합니다.
- Android 10 이하의 경우 CTS 설정(AOSP 10 이하)을 참고하시기 바랍니다.
(선택사항) Android 13 이상의 경우 virtualenv를 설치합니다. virtualenv 도구는 멀티스크린 테스트에 필요합니다.
Python이 설치되어 있는지 확인하려면
python3
을 입력합니다. Python 버전과 날짜가 표시되면 Python이 올바르게 설치되어 있는 것입니다.호환성 테스트 모음 다운로드에서 기기의 Android 버전 및 기기에서 지원하는 모든 Application Binary Interface(ABI)에 맞는 CTS 패키지를 다운로드하여 엽니다.
CTS 미디어 파일의 최신 버전을 다운로드하고 엽니다. 미디어 파일에는 Big Buck Bunny의 동영상 클립이 포함되어 있으며 크리에이티브 커먼즈 저작자 표시 3.0 라이선스에 따라 저작권은 Blender Foundation에 있습니다.
(선택사항) CTS를 처음 실행하면 일부 Mainline 관련 CTS 파일이 동적으로 다운로드됩니다. 네트워크 속도에 따라 이 다운로드로 인해 CTS 실행 시간이 10분 이상 늘어납니다.
CTS 실행 시간이 늘어나지 않도록 하려면 CTS를 실행하기 전에 Mainline 관련 CTS 파일을 다운로드하면 됩니다. Mainline 관련 CTS 파일을 다운로드하는 방법에 관한 자세한 내용은 Mainline 관련 CTS 파일 다운로드를 참고하세요.
DUT 준비
데스크톱 컴퓨터를 설정한 후에는 DUT를 설정하고 구성해야 합니다.
DUT 설정
DUT를 설정하려면 다음 단계를 따르세요.
DUT가 코드명, 태그, 빌드 번호에서 호환되는 것으로 알려진 사용자 빌드(Android 4.0 이상)에 기반하여 시스템 이미지를 실행하고 있으며
user
빌드 변형을 사용하는지 확인합니다. 빌드 변형에 관한 자세한 내용은 타겟 선택을 참고하세요.DUT가 Android 13 이상을 실행하는 경우 빌드의
ro.product.first_api_level
이 기기가 상업적으로 출시된 API 수준으로 설정되어 있는지 확인합니다. 이 값을 설정하려면 다음과 같이device.mk
파일을 변경하세요.PRODUCT_SHIPPING_API_LEVEL := 21
특정 CTS 요구사항은 기기가 최초로 배송되었을 때 포함된 빌드에 따라 다릅니다. 예를 들어, 처음 배송 시 이전 빌드가 포함된 기기는 배송 시 후속 빌드가 포함된 기기에 적용되는 시스템 요구사항에서 제외될 수 있습니다. 유효한 API 수준 값은 코드명, 태그, 빌드 번호를 참고하세요.
ro.product.first_api_level
에 관한 자세한 내용은 공급업체 API 수준을 참고하세요.Android 10 이하의 경우 CTS 설정(AOSP 10 이하)을 참고하시기 바랍니다.
기기에서 APEX 패키지 관리를 지원하는 경우:
- 특정 Android 버전과 하드웨어 아키텍처의 APEX Shim 패키지를 다운로드합니다. Shim 패키지 표의 왼쪽 두 열에는 다운로드할 패키지의 링크가 제공됩니다.
- 다운로드한 패키지를
/system/apex
에 복사합니다. - 파일 이름을
com.android.apex.cts.shim.apex
로 바꿉니다.
기기에서 APEX 패키지 관리를 지원하지 않는 경우:
- 특정 Android 버전과 하드웨어 아키텍처의 APEX Shim 패키지를 다운로드합니다. Shim 패키지 표의 오른쪽 두 열에는 다운로드할 패키지의 링크가 제공됩니다.
CtsShim.apk
를/system/app/
에 복사합니다.- 이름을
CtsShim.apk
에서CtsShimPrebuilt.apk
로 바꿉니다. CtsShimPriv.apk
를/system/priv-app/
에 복사합니다.- 이름을
CtsShimPriv.apk
에서CtsShimPrivPrebuilt.apk
로 바꿉니다.
기기에서 보안 요소를 두 개 이상 보고하는 경우:
google-cardlet.cap
을 다운로드합니다.- 다운로드한 파일을
/data/uicc/cardlets/
에 복사합니다.
기기에서 보안 요소를 두 개 이상 보고하는 경우 샘플 애플릿을 DUT의 내장된 보안 요소(eSE) 또는 DUT에서 사용하는 SIM 카드에 설치합니다. 자세한 내용은 보안 요소 CTS 테스트를 참고하세요.
기기에 내장된 화면이 없는 경우 화면을 기기에 연결합니다.
기기에 메모리 카드 슬롯이 있으면 빈 SD 카드를 연결합니다. SDHC 또는 SDXC 용량의 초고속(UHS) 버스를 지원하는 SD 카드나 속도 등급이 10 이상인 카드를 사용하여 CTS를 통과할 수 있도록 합니다.
기기에 SIM 카드 슬롯이 있는 경우 활성화된 SIM 카드를 각 슬롯에 연결합니다. 기기에서 SMS를 지원한다면 각 SIM 카드의 숫자 입력란이 채워져 있어야 합니다. Android 12 이상을 실행하는 기기의 경우 모든 SIM 카드에서 축약된 전화번호(ADN) 저장을 지원해야 합니다. 텔레콤 전용 파일(DFTelecom)이 포함된 GSM 및 USIM 카드는 이 요구사항을 충족합니다.
기기의 SIM에 UICC 준비에 지정된 요구사항을 충족하는 CTS 이동통신사 권한이 있는지 확인합니다.
DUT 구성
다음 단계를 따라 CTS와 함께 사용할 DUT를 구성하세요.
DUT에서는 다음 단계를 따르세요.
기기를 초기화합니다.
기기 언어를 영어(미국)로 설정합니다.
기기에서 기본 글꼴 맞춤설정을 지원한다면 기본 sans-serif 글꼴 모음이 Roboto로 설정되어 있는지 확인합니다.
기기에 GPS나 Wi-Fi 또는 모바일 네트워크 기능이 있다면 위치 설정을 사용 설정합니다.
IPv6를 지원하고 DUT를 격리된 클라이언트로 처리할 수 있으며 인터넷에 연결되어 있는 Wi-Fi 네트워크에 연결합니다. 격리된 클라이언트에 관한 자세한 내용은 물리적 환경 설정을 참고하세요.
잠금 패턴이나 비밀번호가 설정되어 있지 않은지 확인합니다.
USB 디버깅 사용 설정
설정 > 휴대전화 정보로 이동하여 빌드 번호를 일곱 번 탭합니다. 시스템 설정 카테고리 내에 개발자 옵션이 표시됩니다.
USB 디버깅을 탭합니다.
Android 10 이하에서 USB 디버깅을 사용 설정하려면 CTS 설정(AOSP 10 이하)을 참고하세요.
시간을 12시간 형식으로 설정합니다.
개발자 옵션 > 절전모드 해제를 사용 설정합니다.
USB 앱 인증을 사용 중지합니다.
개발자 옵션으로 이동합니다.
USB를 통해 앱 인증을 탭합니다.
Android 13 이상에서는 가상 모뎀을 사용 설정합니다.
개발자 옵션으로 이동합니다.
가상 모뎀 허용을 탭합니다.
이 설정은 특정 전화 통신 테스트에 필요합니다.
데스크톱 컴퓨터에서는 다음 단계를 따릅니다.
브라우저를 실행하고 시작 또는 설정 화면을 닫습니다.
USB 케이블을 사용하여 DUT를 데스크톱 컴퓨터에 연결합니다.
이 컴퓨터를 통해 디버깅을 허용하는 RSA 키를 수락하라는 메시지를 시스템에서 표시하면 USB 디버깅 허용을 클릭합니다.
사용자가 액세스할 수 있는 어포던스(숨겨진 것이 아님) 설정을 사용하여 Roboto2를 sans-serif 글꼴로 설정합니다.
CTS 미디어 파일을 DUT에 복사합니다.
- 미디어 파일이 다운로드되어 압축을 해제한 경로로 이동(
cd
)합니다. 파일 권한을 변경합니다.
chmod u+x copy_media.sh
파일을 복사합니다.
클립을 최대 720x480 해상도로 복사하려면 다음을 실행합니다.
./copy_media.sh 720x480
최대 해상도를 잘 모를 경우 다음 파일을 모두 복사합니다.
./copy_media.sh all
DUT가 여러 대인 경우 특정 기기의 일련번호 옵션(
-s
)을 끝에 추가합니다. 예를 들어, 일련번호가 1234567인 기기에 최대 720x480 해상도로 복사하려면 다음을 실행합니다../copy_media.sh 720x480 -s 1234567
- 미디어 파일이 다운로드되어 압축을 해제한 경로로 이동(
Mainline 관련 CTS 파일 다운로드
Mainline 관련 CTS 파일을 다운로드하려면 다음 단계를 따르세요.
다음을 실행하여 기기의 Android API 수준을 가져옵니다.
adb shell getprop ro.build.version.sdk
download_mcts.sh
스크립트의 안내에 따라 Mainline CTS 파일을 다운로드합니다.다운로드에는 네트워크 속도에 따라 10분 이상이 걸릴 수 있습니다.
Shim 패키지
다음 표에는 각 기기 버전과 아키텍처에 사용할 수 있는 패키지가 나열되어 있습니다.
기기 버전 | 패키지(APEX가 지원되는 경우) | 패키지(APEX가 지원되지 않는 경우) | ||
---|---|---|---|---|
ARM | x86 | ARM | x86 | |
Android 15 |
15-arm-release
|
android15-x86-release
|
android15-arm-CtsShim.apk
|
android15-x86-CtsShim.apk
|
Android 14 |
android14-arm-release
|
android14-x86-release
|
android14-arm-CtsShim.apk
|
android14-x86-CtsShim.apk
|
Android 13 |
android13-arm-release
|
android13-x86-release
|
android13-arm-CtsShim.apk
|
android13-x86-CtsShim.apk
|
Android 12 |
android12-arm-release
|
android12-x86-release
|
android12-arm-CtsShim.apk
|
android12-x86-CtsShim.apk
|
Android 11 |
android11-arm-release
|
android11-x86-release
|
android11-arm-CtsShim.apk
|
android11-x86-CtsShim.apk
|
Android 10 |
android10-release
|
android10-arm-CtsShim.apk
|
android10-x86-CtsShim.apk
|
|
Android 9, O 및 O-MR1 | 해당 사항 없음 | 해당 사항 없음 |
arm-CtsShim.apk
|
x86-CtsShim.apk
|
다음 단계
이 문서를 읽은 후에는 자동화된 CTS 테스트 실행으로 이동하세요.