Прежде чем вы сможете выполнить автоматизированные тесты CTS, подготовьте физическую среду, настройте рабочую станцию и настройте тестируемое устройство.
Настройте физическую среду
Для некоторых тестов CTS требуется использование внешних устройств, установленных рядом с тестируемым устройством. Чтобы настроить физическую среду:
- (необязательно) Если ваше проверяемое устройство поддерживает Bluetooth LE, разместите не менее трёх маяков Bluetooth LE в пределах 5 метров от проверяемого устройства для тестирования сканирования Bluetooth LE. Дополнительно: - Маяки не требуют настройки и не должны излучать какие-либо особые сигналы.
- Маяки могут быть любого типа, включая iBeacon, Eddystone или даже устройства, имитирующие маяки BLE.
 
- Расположите телефон перед объектом съёмки, например, стеной или потолком, на расстоянии, эквивалентном минимальному фокусному расстоянию тестируемого устройства. Дополнительно: -  Освещение сцены должно быть достаточным для того, чтобы тестируемые датчики могли достичь и поддерживать максимальное заданное целевое количество кадров в секунду (FPS), указанное в CONTROL_AE_TARGET_FPS_RANGE.
-  Эта настройка применяется ко всем датчикам камеры, о которых сообщает getCameraIdList, поскольку тест проходит по перечисленным устройствам и измеряет производительность по отдельности.
- Если проверяемое устройство поддерживает внешние камеры, например, USB-веб-камеры, подключите внешнюю камеру во время выполнения CTS. В противном случае тесты CTS будут не пройдены.
 
-  Освещение сцены должно быть достаточным для того, чтобы тестируемые датчики могли достичь и поддерживать максимальное заданное целевое количество кадров в секунду (FPS), указанное в 
- (необязательно) Если ваше проверяемое устройство поддерживает глобальную систему позиционирования (GPS) или другую глобальную навигационную спутниковую систему (GNSS), подайте на проверяемое устройство сигнал GNSS с уровнем сигнала, подходящим для приёма и определения местоположения. Дополнительно: - GPS-приемник должен соответствовать стандарту ICD-GPS-200C.
- Сигнал GNSS может быть любого типа, включая имитатор спутников или ретранслятор наружных сигналов.
- Вы можете разместить проверяемое устройство рядом с окном, чтобы оно могло напрямую принимать достаточный уровень сигнала GNSS со спутника.
 
- Убедитесь, что ваша сеть Wi-Fi поддерживает IPv4 и IPv6, имеет подключение к Интернету с DNS для IPv4 и IPv6, поддерживает многоадресную рассылку IP и может рассматривать DUT как изолированный клиент . - Если у вас нет доступа к собственной сети IPv6, сети оператора IPv6 или VPN для прохождения тестов IPv6, используйте точку доступа Wi-Fi и туннель IPv6. 
- Убедитесь, что на интерфейсе Wi-Fi DUT установлены флаги - UP,- BROADCASTи- MULTICAST.
- Убедитесь, что интерфейсу Wi-Fi назначены адреса IPv4 и IPv6. Чтобы проверить свойства интерфейса Wi-Fi, выполните - adb shell ifconfig.
- (необязательно) Если ваше проверяемое устройство поддерживает Wi-Fi STA или STA concurrency , настройте как минимум две сети Wi-Fi. Эти сети Wi-Fi должны работать в разных диапазонах с разными SSID или на одном SSID с разными BSSID. 
- (необязательно) Если ваше DUT поддерживает время кругового прохождения сигнала по Wi-Fi (RTT) , настройте устройство, поддерживающее Wi-Fi RTT: - Разместите устройство Wi-Fi RTT на расстоянии не более 40 футов от проверяемого устройства.
- Включите Wi-Fi RTT-устройство.
 - Вот два рекомендуемых устройства, поддерживающих Wi-Fi RTT: - Google Wifi - Точка доступа fitlet2 от Compulab (настроена на полосу пропускания 40 МГц при 5 ГГц). 
Настройте свой настольный компьютер
Перед запуском автоматизированных тестов CTS убедитесь, что ваш настольный компьютер соответствует требованиям к оборудованию и операционной системе, а также на нем установлено соответствующее программное обеспечение, как описано в следующих разделах.
Соответствие требованиям к оборудованию
Ваш настольный компьютер CTS должен соответствовать или превосходить следующие аппаратные требования:
- 64-битная система x86 
- Не менее 256 ГБ свободного места на диске для размещения возросшего количества тестовых случаев CTS и увеличения резервирования пространства кучи Java в Tradefed. 
- Минимум 32 ГБ оперативной памяти 
Соответствовать требованиям операционной системы
- На вашем компьютере для разработки должен быть установлен 64-битный дистрибутив Linux с библиотекой GNU C (glibc) 2.17 или выше. 
- Для того чтобы CTS мог правильно определить путь, необходимо установить язык операционной системы на «английский». 
Установить программное обеспечение для ПК
Чтобы установить соответствующее программное обеспечение для настольного компьютера CTS:
- Установите самые последние версии Android Debug Bridge (adb) и Android Asset Packaging Tool (AAPT2) и добавьте расположение этих инструментов в системный путь вашего компьютера: -  Следуйте инструкциям в начале документации по SDK Manager , чтобы установить инструмент командной строки sdkmanager. Ссылка для загрузки инструментов командной строки находится в разделе «Только инструменты командной строки» внизу страницы загрузки Android Studio .
-  Обновите системный путь, включив в него расположение недавно установленного sdkmanager.
-  Используя sdkmanager, установите последние версии пакетовplatform-toolsиbuild-tools. Эти пакеты содержат adb и AAPT2. Информация об установке пакетов приведена в разделе Установка пакетов .
- Обновите путь, включив в него расположение недавно установленных инструментов adb и AAPT2.
- Убедитесь, что adb и AAPT2 есть в вашем пути.
 
-  Следуйте инструкциям в начале документации по SDK Manager , чтобы установить инструмент командной строки 
- Установите нужную версию Java Development Kit (JDK) : - Для Android 11 и выше установите JDK 11.
- Для Android 10 или ниже см. раздел Настройка CTS (AOSP 10 или ниже) .
 
- (необязательно) Для Android 13 и 14 установите virtualenv . Инструмент virtualenv необходим для тестирования нескольких устройств. 
- Чтобы убедиться, что Python установлен, введите - python3. Должны появиться версия и дата Python, что означает, что Python установлен правильно.
- Загрузите и откройте пакеты CTS из загрузок Compatibility Test Suite, соответствующие версии Android вашего устройства и всем двоичным интерфейсам приложений (ABI), которые поддерживают ваши устройства. 
- Загрузите и откройте последнюю версию медиафайлов CTS . Медиафайлы включают видеоклипы из Big Buck Bunny , авторские права на которые принадлежат Blender Foundation по лицензии Creative Commons Attribution 3.0 . 
- (необязательно) При первом запуске CTS динамически загружаются некоторые файлы CTS, относящиеся к основной линии. В зависимости от скорости вашего интернет-соединения эта загрузка может увеличить время работы CTS на 10 минут или более. - Чтобы избежать дополнительного времени выполнения CTS, вы можете загрузить файлы CTS, связанные с Mainline, перед запуском CTS. Информация о загрузке файлов CTS, связанных с Mainline, приведена в разделе «Загрузка файлов CTS, связанных с Mainline» . 
Подготовьте проверяемое устройство
После настройки настольного компьютера необходимо настроить и сконфигурировать проверяемое устройство.
Настройка DUT
Чтобы настроить проверяемое устройство:
- Убедитесь, что проверяемое устройство использует образ системы на основе заведомо совместимой пользовательской сборки (Android 4.0 или выше) из раздела «Кодовые имена, теги и номера сборок» , и использует вариант - userсборки. Подробнее о вариантах сборки см. в разделе «Выбор целевой платформы» .
- Если проверяемое устройство работает под управлением 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: - Загрузите пакет APEX для вашей версии Android и аппаратной архитектуры. Ссылки на пакеты для скачивания находятся в двух левых столбцах таблицы пакетов .
-  Скопируйте загруженный пакет в /system/apex.
-  Переименуйте файл в com.android.apex.cts.shim.apex.
 
- Если ваше устройство не поддерживает управление пакетами APEX: - Загрузите пакеты shim APEX для вашей версии Android и аппаратной архитектуры. Ссылки на пакеты для скачивания находятся в двух правых столбцах таблицы пакетов shim .
-  Скопируйте CtsShim.apkв/system/app/
-  Переименуйте CtsShim.apkвCtsShimPrebuilt.apk
-  Скопируйте CtsShimPriv.apkв/system/priv-app/
-  Переименуйте CtsShimPriv.apkвCtsShimPrivPrebuilt.apk
 
- Если ваше устройство сообщает более чем об одном защищенном элементе: -  Загрузите google-cardlet.cap.
-  Скопируйте загруженный файл в /data/uicc/cardlets/.
 
-  Загрузите 
- Если ваше устройство сообщает о наличии более одного элемента безопасности, установите образец апплета во встроенный элемент безопасности (eSE) тестируемого устройства или на SIM-карту, используемую тестируемым устройством. Подробнее см. в разделе «Тест CTS для элемента безопасности» . 
- Если на вашем устройстве нет встроенного экрана, подключите экран к устройству. 
- Если на устройстве есть слот для карты памяти, вставьте пустую SD-карту. Используйте SD-карту с поддержкой сверхвысокой скорости (UHS) и емкостью SDHC или SDXC либо карту с классом скорости 10 или выше, чтобы она прошла тест CTS. 
- Если устройство оснащено слотами для SIM-карт, вставьте активированную SIM-карту в каждый слот. Если устройство поддерживает SMS, для каждой SIM-карты должно быть заполнено поле с номером. Для устройств под управлением Android 12 и выше все SIM-карты должны поддерживать функцию сохранения номеров сокращённого набора (ADN). Этому требованию соответствуют карты GSM и USIM со специальным файлом для телекоммуникаций (DF Telecom ). 
- Убедитесь, что на вашем устройстве установлена SIM-карта с правами оператора CTS, соответствующая требованиям, указанным в разделе «Подготовка карты UICC» . 
Настройте DUT
Для настройки DUT для использования с CTS выполните следующие шаги.
На ДУТ:
- Выполните сброс настроек устройства к заводским настройкам. 
- Установите язык устройства на английский (США) . 
- Если устройство поддерживает настройку шрифтов по умолчанию, убедитесь, что в качестве семейства шрифтов без засечек по умолчанию установлено значение Roboto . 
- Если на устройстве есть функция GPS, Wi-Fi или мобильной сети, включите настройку местоположения. 
- Подключитесь к сети Wi-Fi, которая поддерживает IPv6, может рассматривать проверяемое устройство как изолированного клиента и имеет подключение к Интернету. Подробнее об изолированных клиентах см. в разделе «Настройка физической среды» . 
- Убедитесь, что не установлен графический ключ или пароль. 
- Включить отладку по USB: - Перейдите в «Настройки» > «О телефоне» и нажмите «Номер сборки» семь раз. В категории «Системные настройки» появится раздел « Параметры разработчика» . 
- Нажмите «Отладка по USB» . 
 - Чтобы включить отладку по USB на Android 10 или ниже, см. раздел Настройка CTS (AOSP 10 или ниже) . 
- Установите время в 12-часовом формате. 
- Включите «Параметры разработчика» > «Бодрствовать» . 
- Отключить проверку USB-приложения: - Перейдите в раздел «Параметры разработчика» . 
- Нажмите «Проверка приложений через USB» . 
 
- В Android 13 и выше включите функцию фиктивного модема: - Перейдите в раздел «Параметры разработчика» . 
- Нажмите «Разрешить поддельный модем» . 
 - Эта настройка необходима для определенных тестов телефонии. 
На настольном компьютере:
- Запустите браузер и закройте все экраны запуска и настройки. 
- Подключите проверяемое устройство к настольному компьютеру с помощью USB-кабеля. 
- Если система предложит вам принять ключ RSA, разрешающий отладку через этот компьютер, нажмите Разрешить отладку по USB . 
- Установите Roboto2 как шрифт без засечек, используя доступную пользователю настройку (не скрытую). 
- Скопируйте медиафайлы CTS в DUT: -  Перейдите ( cd) в папку, куда загружены и распакованы медиафайлы.
- Измените права доступа к файлу: - chmod u+x copy_media.sh
- Скопируйте файлы: - Чтобы скопировать клипы с разрешением до 720x480, выполните: - ./copy_media.sh 720x480
- Если вы не уверены в максимальном разрешении, скопируйте все файлы: - ./copy_media.sh all
- Если тестируемых устройств несколько, добавьте в конец параметр последовательного порта ( - -s) конкретного устройства. Например, чтобы скопировать изображение с разрешением до 720x480 на устройство с серийным номером 1234567, выполните:- ./copy_media.sh 720x480 -s 1234567
 
 
-  Перейдите ( 
Загрузите файлы CTS, связанные с основной линией
Чтобы загрузить файлы CTS, связанные с Mainline:
- Получите уровень API Android на устройстве, выполнив: - adb shell getprop ro.build.version.sdk
- Следуйте инструкциям в скрипте - download_mcts.shдля загрузки основных файлов CTS.- Загрузка займет не менее 10 минут в зависимости от скорости вашего соединения. 
Пакеты прокладок
В следующей таблице перечислены пакеты, доступные для каждой версии устройства и архитектуры:
| Версия устройства | Пакеты (если поддерживается APEX) | Пакеты (если APEX не поддерживается) | ||
|---|---|---|---|---|
| РУКА | x86 | РУКА | x86 | |
| Андроид 16 | 16-arm-release | android16-x86-release | android16-arm-CtsShim.apk | android16-x86-CtsShim.apk | 
| Андроид 15 | 15-arm-release | android15-x86-release | android15-arm-CtsShim.apk | android15-x86-CtsShim.apk | 
| Андроид 14 | android14-arm-release | android14-x86-release | android14-arm-CtsShim.apk | android14-x86-CtsShim.apk | 
| Андроид 13 | android13-arm-release | android13-x86-release | android13-arm-CtsShim.apk | android13-x86-CtsShim.apk | 
| Андроид 12 | android12-arm-release | android12-x86-release | android12-arm-CtsShim.apk | android12-x86-CtsShim.apk | 
| Андроид 11 | android11-arm-release | android11-x86-release | android11-arm-CtsShim.apk | android11-x86-CtsShim.apk | 
| Андроид 10 | android10-release | android10-arm-CtsShim.apk | android10-x86-CtsShim.apk | |
| Android 9, O и O-MR1 | Н/Д | Н/Д | arm-CtsShim.apk | x86-CtsShim.apk | 
Что дальше?
После прочтения этого документа перейдите к выполнению автоматизированных тестов CTS .