Antes de executar testes automatizados do CTS, prepare seu ambiente físico, configure sua estação de trabalho e o dispositivo que você está testando.
Configurar o ambiente físico
Alguns testes do CTS exigem o uso de dispositivos externos configurados perto do DUT. Para configurar o ambiente físico:
(opcional) Se o DUT for compatível com Bluetooth LE, coloque pelo menos três sensores Bluetooth LE a 5 metros do DUT para testar a verificação do Bluetooth LE. Além disso:
- Os beacons não precisam ser configurados nem emitir nada específico.
- Os beacons podem ser de qualquer tipo, incluindo iBeacon, Eddystone ou até mesmo dispositivos que simulam beacons BLE.
Coloque o smartphone em frente a uma cena, como uma parede ou o teto, a uma distância equivalente à distância mínima de foco do DUT. Além disso:
- A cena precisa ter iluminação suficiente para permitir que os sensores em teste alcancem e permaneçam na taxa máxima de quadros por segundo (FPS) configurada, conforme especificado em
CONTROL_AE_TARGET_FPS_RANGE
. - Essa configuração se aplica a todos os sensores de câmera informados por
getCameraIdList
à medida que o teste itera nos dispositivos listados e mede o desempenho individualmente. - Se o DUT for compatível com câmeras externas, como webcams USB, conecte uma câmera externa ao executar o CTS. Caso contrário, os testes do CTS vão falhar.
- A cena precisa ter iluminação suficiente para permitir que os sensores em teste alcancem e permaneçam na taxa máxima de quadros por segundo (FPS) configurada, conforme especificado em
(Opcional) Se o DUT for compatível com um sistema de posicionamento global (GPS) ou outro sistema global de navegação por satélite (GNSS), forneça um sinal GNSS ao DUT em um nível adequado para recepção e cálculo de localização. Além disso:
- O GPS precisa obedecer ao ICD-GPS-200C.
- O sinal GNSS pode ser de qualquer tipo, incluindo um simulador de satélite ou um repetidor de sinais externos.
- Coloque o DUT perto de uma janela para que ele receba diretamente sinal GNSS suficiente de um satélite.
Verifique se a rede Wi-Fi é compatível com IPv4 e IPv6, tem uma conexão de Internet com DNS para IPv4 e IPv6, oferece suporte a multicast IP e pode tratar o DUT como um cliente isolado.
Se você não tiver acesso a uma rede IPv6 nativa, uma rede de operadora IPv6 ou uma VPN para passar nos testes de IPv6, use um AP Wi-Fi e um túnel IPv6.
Verifique se o DUT tem as flags
UP
,BROADCAST
eMULTICAST
definidas na interface Wi-Fi.Verifique se a interface Wi-Fi tem endereços IPv4 e IPv6 atribuídos. Para verificar as propriedades da interface Wi-Fi, execute
adb shell ifconfig
.(opcional) Se o DUT for compatível com Wi-Fi STA ou simultaneidade de STA, configure pelo menos duas redes Wi-Fi. Essas redes Wi-Fi precisam ser executadas em bandas diferentes com SSIDs diferentes ou no mesmo SSID com BSSIDs diferentes.
(Opcional) Se o DUT for compatível com tempo de retorno do Wi-Fi (RTT), configure um dispositivo compatível com Wi-Fi RTT:
- Coloque o dispositivo Wi-Fi RTT a uma distância de até 12 metros do DUT.
- Ligue o dispositivo Wi-Fi RTT.
Confira dois dispositivos recomendados que oferecem suporte ao RTT do Wi-Fi: - Google Wifi - Ponto de acesso fitlet2 da Compulab (definido como largura de banda de 40 MHz em 5 GHz).
Configurar seu computador desktop
Antes de executar os testes automatizados do CTS, verifique se o computador atende aos requisitos de hardware e sistema operacional e se tem o software adequado instalado, conforme descrito nas seções a seguir.
Atender aos requisitos de hardware
Seu computador de mesa do CTS precisa atender ou exceder estes requisitos de hardware:
Um sistema x86 de 64 bits
Pelo menos 256 GB de espaço livre em disco para acomodar o aumento no número de casos de teste do CTS e um aumento na reserva de espaço de heap Java no Tradefed
Mínimo de 32 GB de RAM
Atender aos requisitos do sistema operacional
Sua máquina de desenvolvimento precisa executar uma distribuição de Linux de 64 bits com a biblioteca GNU C (glibc) 2.17 ou mais recente.
O idioma do sistema operacional precisa ser definido como "Inglês" para que o CTS resolva o caminho corretamente.
Instalar software para computador
Para instalar o software de computador adequado para o CTS:
Instale as versões mais recentes do Android Debug Bridge (adb) e do Android Asset Packaging Tool (AAPT2) e adicione o local dessas ferramentas ao caminho do sistema da sua máquina:
- Siga as instruções no início da documentação do SDK Manager para instalar a ferramenta de linha de comando
sdkmanager
. O link para fazer o download das ferramentas de linha de comando está na seção Apenas ferramentas de linha de comando, na parte de baixo da página de download do Android Studio. - Atualize o caminho do sistema para incluir o local do
sdkmanager
recém-instalado. - Usando
sdkmanager
, instale os pacotesplatform-tools
ebuild-tools
mais recentes. Esses pacotes contêm adb e AAPT2. Para informações sobre como instalar pacotes, consulte Instalar pacotes. - Atualize o caminho para incluir o local das ferramentas adb e AAPT2 recém-instaladas.
- Verifique se o adb e o AAPT2 estão no seu caminho.
- Siga as instruções no início da documentação do SDK Manager para instalar a ferramenta de linha de comando
Instale a versão adequada do Java Development Kit (JDK):
- Para o Android 11 ou mais recente, instale o JDK 11.
- Para o Android 10 ou versões anteriores, consulte Configurar o CTS (AOSP 10 ou versões anteriores).
(opcional) No Android 13 e 14, instale o virtualenv. A ferramenta virtualenv é necessária para testes em vários dispositivos.
Para garantir que o Python esteja instalado, digite
python3
. A versão e a data do Python vão aparecer, indicando que ele está instalado corretamente.Faça o download e abra os pacotes do CTS em Downloads do conjunto de teste de compatibilidade que correspondem à versão do Android dos seus dispositivos e a todas as interfaces binárias de aplicativos (ABIs) compatíveis com eles.
Faça o download e abra a versão mais recente dos arquivos de mídia do CTS. Os arquivos de mídia incluem clipes de vídeo de Big Buck Bunny, que são protegidos por direitos autorais pela Blender Foundation de acordo com a licença Creative Commons Atribuição 3.0.
(Opcional) Quando você executa o CTS pela primeira vez, ele baixa dinamicamente alguns arquivos do CTS relacionados à Mainline. Dependendo da velocidade da rede, esse download adiciona 10 minutos ou mais ao tempo de execução do CTS.
Para evitar esse tempo de execução extra do CTS, baixe os arquivos do CTS relacionados à Mainline antes de executar o CTS. Para informações sobre como baixar os arquivos do CTS relacionados ao Mainline, consulte Baixar arquivos do CTS relacionados ao Mainline.
Preparar o DUT
Depois de configurar o computador desktop, é necessário configurar e configurar o DUT.
Configurar o DUT
Para configurar o DUT:
Verifique se o DUT está executando uma imagem do sistema baseada no build de usuário compatível (Android 4.0 ou mais recente) em Codinomes, tags e números de build e usa a variante de build
user
. Para mais informações sobre variantes de build, consulte Escolher um destino.Se o DUT estiver executando o Android 13 ou versões mais recentes, verifique se o build tem
ro.product.first_api_level
definido como o nível da API com que o dispositivo foi lançado comercialmente. Para definir esse valor, faça a seguinte mudança no arquivodevice.mk
:PRODUCT_SHIPPING_API_LEVEL := 21
Alguns requisitos do CTS dependem do build com que um dispositivo foi originalmente enviado. Por exemplo, dispositivos que foram lançados originalmente com builds anteriores podem ser excluídos dos requisitos do sistema aplicáveis a dispositivos lançados com builds mais recentes. Para valores válidos de nível de API, consulte Codinomes, tags e números de build. Para mais informações sobre
ro.product.first_api_level
, consulte Nível da API do fornecedor.Para Android 10 ou versões anteriores, consulte Configurar o CTS (AOSP 10 ou versões anteriores).
Se o dispositivo for compatível com o gerenciamento de pacotes APEX:
- Faça o download do pacote de shim do APEX para sua versão específica do Android e arquitetura de hardware. As duas colunas à esquerda na tabela pacotes shim fornecem links para o pacote a ser baixado.
- Copie o pacote baixado para
/system/apex
. - Renomeie o arquivo para
com.android.apex.cts.shim.apex
.
Se o dispositivo não for compatível com o gerenciamento de pacotes APEX:
- Faça o download dos pacotes de shim do APEX para sua versão específica do Android e arquitetura de hardware. As duas colunas à direita na tabela de pacotes shim fornecem links para os pacotes que podem ser baixados.
- Copie o
CtsShim.apk
para/system/app/
- Renomeie
CtsShim.apk
paraCtsShimPrebuilt.apk
. - Copie o
CtsShimPriv.apk
para/system/priv-app/
- Renomeie
CtsShimPriv.apk
paraCtsShimPrivPrebuilt.apk
.
Se o dispositivo informar mais de um elemento seguro:
- Baixe
google-cardlet.cap
. - Copie o arquivo baixado para
/data/uicc/cardlets/
.
- Baixe
Se o dispositivo informar mais de um elemento seguro, instale o miniaplicativo de amostra no elemento seguro incorporado (eSE) do DUT ou no chip usado pelo DUT. Para mais informações, consulte Teste do CTS para elemento seguro.
Se o dispositivo não tiver uma tela integrada, conecte uma tela a ele.
Se o dispositivo tiver um slot para cartão de memória, conecte um cartão SD vazio. Use um cartão SD que ofereça suporte a um barramento de velocidade ultra-alta (UHS) com capacidade SDHC ou SDXC ou um cartão com classe de velocidade 10 ou superior para garantir que ele possa passar no CTS.
Se o dispositivo tiver slots de chip, conecte um chip ativado em cada slot. Se o dispositivo for compatível com SMS, cada chip precisará ter o próprio campo de número preenchido. Para dispositivos com Android 12 ou versões mais recentes, todos os chips precisam oferecer suporte ao armazenamento de números de discagem abreviados (ADN). Os cartões GSM e USIM com o arquivo dedicado de telecomunicações (DFTelecom) atendem a esse requisito.
Verifique se o dispositivo tem um chip com privilégios de operadora do CTS que atendam aos requisitos especificados em Preparar o UICC.
Configurar o DUT
Siga estas etapas para configurar o DUT para uso com o CTS.
No DUT:
Redefina o dispositivo para a configuração original.
Defina o idioma do dispositivo como inglês (Estados Unidos).
Se o dispositivo permitir a personalização das fontes padrão, verifique se a família de fontes sans-serif padrão está definida como Roboto.
Se o dispositivo tiver um recurso de GPS, Wi-Fi ou rede móvel, ative a configuração de localização.
Conecte-se a uma rede Wi-Fi que ofereça suporte a IPv6, possa tratar o DUT como um cliente isolado e tenha uma conexão de Internet. Para uma explicação sobre clientes isolados, consulte Configurar o ambiente físico.
Verifique se não há um padrão de bloqueio ou senha definida.
Ative a depuração USB:
Navegue até Configurações > Sobre o dispositivo e toque em Número da versão sete vezes. As Opções do desenvolvedor aparecem na categoria de configurações Sistema.
Toque em Depuração USB.
Para ativar a depuração USB no Android 10 ou em versões anteriores, consulte Configurar o CTS (AOSP 10 ou versões anteriores).
Defina o horário no formato de 12 horas.
Ative Opções do desenvolvedor > Manter ativado.
Desative a verificação de apps por USB:
Navegue até Opções do desenvolvedor.
Toque em Verificar apps por USB.
No Android 13 ou versões mais recentes, ative o modem simulado:
Navegue até Opções do desenvolvedor.
Toque em Permitir Mock Modem.
Essa configuração é necessária para testes de telefonia específicos.
No computador desktop:
Inicie o navegador e feche qualquer tela de inicialização ou configuração.
Conecte o DUT à máquina desktop usando um cabo USB.
Se o sistema pedir para você aceitar uma Chave RSA que permite a depuração por esse computador, clique em Permitir a depuração USB.
Defina Roboto2 como a fonte sem serifa usando uma configuração acessível ao usuário (não oculta).
Copie os arquivos de mídia do CTS para o DUT:
- Navegue (
cd
) até o caminho em que os arquivos de mídia são baixados e descompactados. Mude as permissões do arquivo:
chmod u+x copy_media.sh
Copie os arquivos:
Para copiar clipes com resolução de até 720x480, execute:
./copy_media.sh 720x480
Se você não tiver certeza da resolução máxima, copie todos os arquivos:
./copy_media.sh all
Se houver vários DUTs, adicione a opção serial (
-s
) de um dispositivo específico ao final. Por exemplo, para copiar até 720x480 para o dispositivo com o número de série 1234567, execute:./copy_media.sh 720x480 -s 1234567
- Navegue (
Baixar arquivos do CTS relacionados ao Mainline
Para fazer o download dos arquivos do CTS relacionados ao Mainline:
Para conferir o nível da API Android no dispositivo, execute:
adb shell getprop ro.build.version.sdk
Siga as instruções no script
download_mcts.sh
para fazer o download dos arquivos do CTS principal.O download leva pelo menos 10 minutos, dependendo da velocidade da sua rede.
Pacotes shim
A tabela a seguir lista os pacotes disponíveis para cada versão e arquitetura do dispositivo:
Versão do dispositivo | Pacotes (se o APEX for compatível) | Pacotes (se o APEX não for compatível) | ||
---|---|---|---|---|
ARM | x86 | ARM | x86 | |
Android 16 |
16-arm-release
|
android16-x86-release
|
android16-arm-CtsShim.apk
|
android16-x86-CtsShim.apk
|
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 e O-MR1 | N/A | N/A |
arm-CtsShim.apk
|
x86-CtsShim.apk
|
Quais são as próximas etapas?
Depois de ler este documento, continue para Executar testes CTS automatizados.