O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Configurando CTS

Para executar o CTS, primeiro prepare seu ambiente físico, sua máquina desktop e o dispositivo Android que você está usando para teste.

Ambiente físico

Beacons Bluetooth LE

Se o dispositivo em teste (DUT) suportar Bluetooth LE, coloque pelo menos três beacons Bluetooth LE dentro de 5 metros do DUT para teste de varredura Bluetooth LE. Esses beacons não precisam ser configurados ou emitir nada específico, e podem ser de qualquer tipo, incluindo iBeacon, Eddystone ou até mesmo dispositivos que simulam beacons BLE.

Máquinas fotográficas

Ao executar o CTS da câmera, use condições normais de iluminação com um gráfico de padrão de teste (como um padrão xadrez). Coloque o gráfico de padrão de teste de acordo com a distância mínima de foco do DUT para garantir que não esteja muito perto da lente.

Aponte os sensores da câmera para uma cena com iluminação suficiente para permitir que os sensores em teste alcancem e permaneçam nos quadros máximos de destino configurados por segundo (FPS) conforme especificado em CONTROL_AE_TARGET_FPS_RANGE . Isso se aplica a todos os sensores de câmera relatados por getCameraIdList conforme o teste itera sobre os 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 CTS falham.

GPS / GNSS

Se o DUT suportar o recurso de sistema de posicionamento global / sistema de navegação global por satélite (GPS / GNSS), forneça um sinal GPS / GNSS ao DUT em um nível de sinal adequado para recepção e cálculo de localização GPS. A parte do GPS deve ser compatível com ICD-GPS-200C. Caso contrário, o sinal GPS / GNSS pode ser de qualquer tipo, incluindo um simulador de satélite ou um repetidor GPS / GNSS de sinais externos, ou você pode colocar o DUT perto o suficiente de uma janela de forma que possa receber diretamente sinal GPS / GNSS suficiente.

Wi-Fi e IPv6

Os testes CTS requerem uma rede Wi-Fi compatível com IPv6, que tenha uma conexão com a Internet e possa tratar o DUT como um cliente isolado. Um cliente isolado refere-se a uma configuração em que o DUT não tem visibilidade para as mensagens de transmissão / multi-rede nessa sub-rede. Isso ocorre com uma configuração de AP Wi-Fi ou executando o DUT em uma sub-rede isolada sem outros dispositivos sendo conectados.

Se você não tiver acesso a uma rede IPv6 nativa, uma rede de operadora IPv6 ou VPN para passar alguns testes dependendo do IPv6, você pode usar um ponto de acesso Wi-Fi e um túnel IPv6. Consulte a lista de corretores de túnel IPv6 da Wikipedia.

RTT Wi-Fi

O Android inclui a API Wi-Fi RTT para um recurso de tempo de ida e volta (RTT) Wi-Fi . Isso permite que os dispositivos meçam sua distância aos pontos de acesso com uma precisão de 1 a 2 metros, aumentando significativamente a precisão da localização interna.

Consulte Wi-Fi RTT (IEEE 802.11mc) e localização de Wi-Fi: variando com RTT para uma lista de dispositivos recomendados que suportam Wi-Fi RTT.

Os pontos de acesso devem estar ligados, mas não requerem uma conexão de rede. Os pontos de acesso não precisam estar próximos ao dispositivo de teste, mas recomenda-se que estejam a menos de 12 metros do DUT. Normalmente, um ponto de acesso é suficiente.

Configuração da máquina desktop

ADB e AAPT

Antes de executar o CTS, certifique-se de ter instalado as versões recentes do Android Debug Bridge (adb) e do Android Asset Packaging Tool (AAPT) e adicionado a localização dessas ferramentas ao caminho do sistema de sua máquina.

Para instalar o ADB, baixe o pacote Android SDK Tools para seu sistema operacional, abra-o e siga as instruções no arquivo README incluído. Para obter informações sobre solução de problemas, consulte Instalando as ferramentas SDK autônomas .

Certifique-se de que adb e aapt estão no caminho do sistema. O comando a seguir pressupõe que você abriu o arquivo do pacote em seu diretório inicial:

export PATH=$PATH:$HOME/android-sdk-linux/build-tools/version

Kit de Desenvolvimento Java para Ubuntu

Instale a versão adequada do Java Development Kit (JDK) .

  • Para Android 11, instale o OpenJDK11.
  • Para Android 9 e Android 10, instale o OpenJDK9.
  • Para Android 7.0, 7.1, 8.0 e 8.1, instale o OpenJDK8.

Para obter detalhes, consulte os requisitos do JDK .

Arquivos CTS

Baixe e abra os pacotes CTS em Compatibility Test Suite Downloads correspondentes à versão do Android de seus dispositivos e todas as interfaces binárias de aplicativos (ABIs) que seus dispositivos suportam.

Baixe e abra a versão mais recente dos arquivos de mídia CTS .

Detecção de dispositivo

Siga a etapa para configurar seu sistema para detectar seu dispositivo .

Limite de memória

Você pode querer aumentar o máximo de memória disponível durante a execução do teste no script cts-tradfed . Consulte o exemplo CL para obter mais informações.

Configuração de dispositivo Android

Construções de usuário

Um dispositivo compatível é definido como um dispositivo com uma versão assinada pelo usuário / chave de liberação. Seu dispositivo deve estar executando uma imagem do sistema com base na compilação de usuário compatível (Android 4.0 ou superior) a partir de codinomes, tags e números de compilação .

Propriedade de construção de primeiro nível de API

Certos requisitos CTS dependem da construção com a qual o dispositivo foi originalmente enviado. Por exemplo, os dispositivos que vêm originalmente com versões anteriores podem ser excluídos dos requisitos do sistema que se aplicam a dispositivos que vêm com versões posteriores.

Para disponibilizar essas informações ao CTS, os fabricantes de dispositivos podem ter definido a propriedade de tempo de construção ro.product.first_api_level . O valor dessa propriedade é o primeiro nível de API com o qual o dispositivo foi lançado comercialmente.

Os fabricantes de dispositivos podem reutilizar a implementação subjacente comum para lançar um novo produto como uma atualização de um produto existente no mesmo grupo de dispositivos. Os fabricantes de dispositivos podem, opcionalmente, definir o nível de API do produto existente para ro.product.first_api_level , de forma que os requisitos de atualização sejam aplicados para CTS e Treble / VTS.

Os fabricantes de dispositivos podem adicionar PRODUCT_PROPERTY_OVERRIDES em seu arquivo device.mk para definir essa propriedade, conforme mostrado no exemplo a seguir:

#ro.product.first_api_level indicates the first api level that the device has
been commercially launched on.
PRODUCT_PROPERTY_OVERRIDES +=\
ro.product.first_api_level=21

Primeiro nível de API para Android 9 ou superior

Para dispositivos iniciados com Android 9 ou superior, defina a propriedade ro.product.first_api_level para um valor válido de Codenames, Tags e Build Numbers .

Primeiro nível de API para Android 8.x ou inferior

Para dispositivos lançados no Android 8.x ou inferior, desmarque (remova) a propriedade ro.product.first_api_level para a primeira compilação do produto. Para todas as compilações subsequentes, configure ro.product.first_api_level com o valor de nível de API correto. Isso permite que a propriedade identifique corretamente um novo produto e preserva as informações sobre o primeiro nível de API do produto. Se o sinalizador não estiver Build.VERSION.SDK_INT , o Android atribuirá Build.VERSION.SDK_INT a ro.product.first_api_level .

Pacotes de shim CTS

O Android 10 ou superior inclui um formato de pacote chamado APEX . Para executar testes CTS para APIs de gerenciamento APEX (como atualização para uma nova versão ou relatórios de APEXes ativos), você deve pré- CtsShimApex um pacote CtsShimApex em uma partição /system .

O teste de validação de shim APEX verifica a implementação de CtsShimApex .

requisitos ro.apex.updatable

  • Se a propriedade ro.apex.updatable é definida como true , CtsShimApex é necessário para todos os dispositivos que oferecem suporte ao gerenciamento de pacote APEX.

  • Se a propriedade ro.apex.updatable estiver ausente ou não for definida, o CtsShimApex não precisará ser pré-instalado no dispositivo.

CtsShim pré-instala e pré-carrega

A partir do Android 11, CtsShimApex contém dois aplicativos pré-construídos (construídos a partir da fonte de construção ), que não contêm nenhum código, exceto o manifesto. O CTS usa esses aplicativos para testar privilégios e permissões.

Se o dispositivo não oferece suporte ao gerenciamento de pacote APEX (ou seja, a propriedade ro.apex.updatable está ausente ou não está definida), ou se o dispositivo está executando a versão 10 ou inferior, os dois aplicativos pré-construídos devem ser pré-instalados no sistema separadamente.

Versão do dispositivo Pré-instalação (se houver suporte para APEX) Pré-carga
BRAÇO x86 BRAÇO x86
Android 11 android11-arm-release
em /system/apex/com.android.apex.cts.shim.apex
android11-x86-release
em /system/apex/com.android.apex.cts.shim.apex
android11-arm-CtsShim.apk
em /system/app/CtsShimPrebuilt.apk

android11-arm-CtsShimPriv.apk
em /system/priv-app/CtsShimPrivPrebuilt.apk

android11-x86-CtsShim.apk
em /system/app/CtsShimPrebuilt.apk

android11-x86-CtsShimPriv.apk
em /system/priv-app/CtsShimPrivPrebuilt.apk

Android 10 lançamento do android10
em /system/apex/com.android.apex.cts.shim.apex
android10-arm-CtsShim.apk
em /system/app/CtsShimPrebuilt.apk

android10-arm-CtsShimPriv.apk
em /system/priv-app/CtsShimPrivPrebuilt.apk

android10-x86-CtsShim.apk
em /system/app/CtsShimPrebuilt.apk

android10-x86-CtsShimPriv.apk
em /system/priv-app/CtsShimPrivPrebuilt.apk

Android 9, O e O-MR1 N / D N / D arm-CtsShim.apk
em /system/app/CtsShimPrebuilt.apk

arm-CtsShimPriv.apk
em /system/priv-app/CtsShimPrivPrebuilt.apk

x86-CtsShim.apk
em /system/app/CtsShimPrebuilt.apk

x86-CtsShimPriv.apk
em /system/priv-app/CtsShimPrivPrebuilt.apk

Para passar nos testes, pré-carregue os aplicativos nos diretórios apropriados na imagem do sistema sem assinar novamente os aplicativos.

Applet de amostra

O Android 9 introduziu APIs Open Mobile. Para dispositivos que relatam mais de um elemento seguro, o CTS adiciona casos de teste para validar o comportamento das APIs Open Mobile. Esses casos de teste requerem a instalação única de um miniaplicativo de amostra no Elemento Seguro integrado (eSE) do DUT ou no cartão SIM usado pelo DUT. O miniaplicativo de amostra eSE e o miniaplicativo de amostra SIM podem ser encontrados no AOSP.

Consulte Teste CTS para elemento seguro para obter informações mais detalhadas sobre casos de teste Open Mobile API e casos de teste de controle de acesso.

Requisitos de armazenamento

Os testes de estresse de mídia CTS exigem que os videoclipes estejam em armazenamento externo ( /sdcard ). A maioria dos clipes é de Big Buck Bunny , que é propriedade da Blender Foundation sob a licença Creative Commons Attribution 3.0 .

O espaço necessário depende da resolução máxima de reprodução de vídeo suportada pelo dispositivo. Consulte a seção 5 no documento de definição de compatibilidade do Android para obter a versão da plataforma das resoluções necessárias).

Observe que os recursos de reprodução de vídeo do DUT são verificados por meio das APIs android.media.CamcorderProfile para versões anteriores do Android e as APIs android.media.MediaCodecInfo.CodecCapabilities do Android 5.0.

Aqui estão os requisitos de armazenamento por resolução máxima de reprodução de vídeo:

  • 480x360: 98 MB
  • 720x480: 193 MB
  • 1280 x 720: 606 MB
  • 1920 x 1080: 1863 MB

Tela e armazenamento

  • Qualquer dispositivo que não tenha uma tela incorporada precisa ser conectado a uma tela.
  • Se o dispositivo tiver um slot de cartão de memória, conecte um cartão SD vazio. Use um cartão SD que suporte barramento de velocidade ultra-alta (UHS) com capacidade SDHC ou SDXC ou um com pelo menos classe de velocidade 10 ou superior para garantir que ele possa passar no CTS.
  • Se o dispositivo tiver slots para cartão SIM, conecte um cartão SIM ativado em cada slot. Se o dispositivo suportar SMS, cada cartão SIM deve ter seu próprio campo de número preenchido.

Desenvolvedor UICC

Para executar testes de API de operadora CTS, o dispositivo precisa ter um cartão SIM com regras de privilégio de operadora. Consulte Preparando o UICC .

Configuração de dispositivo Android

  1. Redefinir o dispositivo com os dados de fábrica: Configurações> Backup e redefinir> Redefinir os dados de fábrica .
  2. Defina o idioma do seu dispositivo para inglês ( Estados Unidos ): Configurações> Idioma e entrada> Idioma .
  3. Ative a configuração de localização se houver um GPS ou recurso de rede Wi-Fi / celular no dispositivo: Configurações> Localização> Ativado .
  4. Conecte-se a uma rede Wi-Fi compatível com IPv6, possa tratar o DUT como um cliente isolado (consulte Ambiente físico acima) e tenha uma conexão com a Internet: Configurações> Wi-Fi .
  5. Certifique-se de que nenhum padrão de bloqueio ou senha esteja definido no dispositivo: Configurações> Segurança> Bloqueio de tela> Nenhum .
  6. Habilite a depuração USB em seu dispositivo: Configurações> Opções do desenvolvedor> Depuração USB .
  7. Defina a hora no formato de 12 horas: Configurações> Data e hora> Usar formato de 24 horas> Desligado .
  8. Defina o dispositivo para permanecer acordado: Configurações> Opções do desenvolvedor> Permanecer acordado> Ligado .
  9. Apenas no Android 5.xe 4.4.x , configure o dispositivo para permitir locais fictícios: Configurações> Opções do desenvolvedor> Permitir locais fictícios> Ativado .
  10. No Android 4.2 ou superior , desative a verificação de aplicativo USB: Configurações> Opções do desenvolvedor> Verificar aplicativos via USB> Desligado .
  11. Inicie o navegador e ignore qualquer tela de inicialização / configuração.
  12. Conecte a máquina de mesa que será usada para testar o dispositivo com um cabo USB.

Instalação de arquivo

Instale e configure aplicativos auxiliares no dispositivo.

  1. Configure o seu dispositivo de acordo com a sua versão CTS:
    • CTS versões 2.1 R2 a 4.2 R4: Configure seu dispositivo (ou emulador) para executar os testes de acessibilidade com:
      adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      No dispositivo, habilite a delegação: Configurações> Acessibilidade> Acessibilidade> Delegar serviço de acessibilidade .
    • CTS versões 6.x ou inferior: em dispositivos que declaram android.software.device_admin , configure seu dispositivo para executar o teste de administração do dispositivo usando:
      adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk

      Em Configurações> Segurança> Selecionar administradores de dispositivo , habilite os dois administradores de dispositivo android.deviceadmin.cts.CtsDeviceAdminReceiver* . Certifique-se de que android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver e quaisquer outros administradores de dispositivos pré-carregados permaneçam desativados.
  2. Copie os arquivos de mídia CTS para o dispositivo da seguinte maneira:
    1. Navegue ( cd ) até o caminho onde os arquivos de mídia são baixados e descompactados.
    2. Altere as permissões do arquivo:
      chmod u+x copy_media.sh
    3. Copie os arquivos necessários:
      • Para copiar clipes com resolução de 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 dispositivos em adb, adicione a opção serial ( -s ) de um dispositivo específico ao final. Por exemplo, para copiar até 720x480 para o dispositivo com serial 1234567, execute:
        ./copy_media.sh 720x480 -s 1234567