자동화된 CTS 테스트를 실행하려면 먼저 물리적 환경을 준비하고, 워크스테이션을 설정하고, 테스트 중인 기기를 구성해야 합니다.
물리적 환경 설정
특정 CTS 테스트는 DUT 근처에 외부 기기를 설정해야 합니다. 실제 환경을 설정하려면 다음 단계를 따르세요.
(선택사항) DUT에서 블루투스 LE를 지원하는 경우 블루투스 LE 검사 테스트를 위해 DUT의 5미터 반경 내에 3개 이상의 블루투스 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의 Wi-Fi 인터페이스에
UP
,BROADCAST
,MULTICAST
플래그가 설정되어 있는지 확인합니다.Wi-Fi 인터페이스에 IPv4 및 IPv6 주소가 할당되어 있는지 확인합니다. Wi-Fi 인터페이스 속성을 확인하려면
adb shell ifconfig
를 실행합니다.(선택사항) DUT가 Wi-Fi STA 또는 STA 동시 실행을 지원하는 경우 Wi-Fi 네트워크를 2개 이상 설정합니다. 이러한 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에 적합한 데스크톱 소프트웨어를 설치하려면 다음 단계를 따르세요.
최신 버전의 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 미디어 파일의 최신 버전을 다운로드하고 엽니다. 미디어 파일에는 크리에이티브 커먼즈 저작자 표시 3.0 라이선스에 따라 Blender Foundation에 저작권이 있는 Big Buck Bunny의 동영상 클립이 포함되어 있습니다.
(선택사항) CTS를 처음 실행하면 일부 메인라인 관련 CTS 파일이 동적으로 다운로드됩니다. 네트워크 속도에 따라 이 다운로드로 인해 CTS 실행 시간이 10분 이상 늘어납니다.
이러한 추가 CTS 런타임을 방지하려면 CTS를 실행하기 전에 메인라인 관련 CTS 파일을 다운로드하면 됩니다. 메인라인 관련 CTS 파일 다운로드에 관한 자세한 내용은 메인라인 관련 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 패키지를 다운로드합니다. 시임 패키지 표의 왼쪽 두 열에는 다운로드할 패키지의 링크가 제공됩니다.
- 다운로드한 패키지를
/system/apex
에 복사합니다. - 파일 이름을
com.android.apex.cts.shim.apex
로 바꿉니다.
기기가 APEX 패키지 관리를 지원하지 않는 경우:
- 특정 Android 버전 및 하드웨어 아키텍처의 APEX 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 카드는 이 요구사항을 충족합니다.
기기에 UICC 준비에 지정된 요구사항을 충족하는 CTS 이동통신사 권한이 있는 SIM이 있는지 확인합니다.
DUT 구성
다음 단계에 따라 CTS와 함께 사용할 DUT를 구성합니다.
DUT에서:
기기를 초기화합니다.
기기의 언어를 영어 (미국)로 설정합니다.
기기에서 기본 글꼴 맞춤설정을 지원한다면 기본 sans-serif 글꼴 모음이 Roboto로 설정되어 있는지 확인합니다.
기기에 GPS 또는 Wi-Fi 또는 모바일 네트워크 기능이 있는 경우 위치 설정을 사용 설정합니다.
IPv6를 지원하고, DUT를 격리된 클라이언트로 취급할 수 있으며, 인터넷 연결이 가능한 Wi-Fi 네트워크에 연결합니다. 격리된 클라이언트에 관한 설명은 물리적 환경 설정을 참고하세요.
잠금 패턴이나 비밀번호가 설정되어 있지 않은지 확인합니다.
USB 디버깅을 사용 설정합니다.
설정 > 휴대전화 정보로 이동하여 빌드 번호를 7번 탭합니다. 개발자 옵션이 시스템 설정 카테고리 내에 표시됩니다.
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
- 미디어 파일이 다운로드되어 압축을 해제한 경로로 이동(
메인라인 관련 CTS 파일 다운로드
메인라인 관련 CTS 파일을 다운로드하려면 다음 단계를 따르세요.
다음을 실행하여 기기의 Android API 수준을 가져옵니다.
adb shell getprop ro.build.version.sdk
download_mcts.sh
스크립트의 안내에 따라 메인라인 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 | N/A | 해당 사항 없음 |
arm-CtsShim.apk
|
x86-CtsShim.apk
|
다음 단계
이 문서를 읽은 후 자동화된 CTS 테스트 실행을 계속 진행합니다.