O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

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 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 de foco mínima do DUT para garantir que não esteja muito perto da lente.

Apontar os sensores da câmara para uma cena com iluminação suficiente para permitir que os sensores sob teste para atingir e manter-se na própria estrutura do alvo máximo configurado por segundo (FPS), tal como especificado em CONTROL_AE_TARGET_FPS_RANGE . Isto aplica-se a todos os sensores de câmara relatados por getCameraIdList como os itera de teste sobre a dispositivos e medidas listadas 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 se refere a uma configuração em que o DUT não tem visibilidade para as mensagens de broadcast / multinetwork 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. Veja da Wikipedia lista de corretores de túnel IPv6 .

RTT Wi-Fi

Android inclui a API Wi-Fi RTT para um Wi-Fi tempo de ida e volta (RTT) de capacidade. 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. Dois dispositivos recomendados suporte Wi-Fi RTT são Google Wifi e ponto de acesso fitlet2 de Compulab (definido como largura de banda de 40 MHz a 5 GHz).

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 é recomendado 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, garantir que você tenha instalado as versões recentes de ambos Debug Ponte Android (ADB) e ativos Android Packaging Tool (AAPT) e acrescentou a localização dessas ferramentas ao caminho do sistema de sua máquina.

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

Certifique-se 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 apropriada 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 mais detalhes, consulte os requisitos do JDK .

Arquivos CTS

Faça o download e abrir as embalagens CTS de Compatibilidade Test Suite downloads correspondentes versão Android de seus dispositivos e todas as interfaces binários do aplicativo (ABIs) que seus dispositivos suportam.

Faça o download e abrir a versão mais recente dos arquivos de mídia CTS .

Detecção de dispositivo

Siga o passo para configurar o seu sistema para detectar o dispositivo .

Limite de memória

Você pode querer aumentar a memória máxima disponível durante ensaio do CTS-tradfed script. Consulte o exemplo CL para 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. O dispositivo deve estar executando uma imagem de sistema baseado no conhecido por ser de construção utilizador compatível (Android 4.0 ou superior) a partir Codinomes, Tags, e números de compilação .

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

Certos requisitos de CTS dependem da construção com a qual um dispositivo foi originalmente enviado. Por exemplo, 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 tornar essa informação disponível para CTS, fabricantes de dispositivos poderia ter definido a propriedade em tempo de compilaçã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 pode, opcionalmente, definir o nível de API do produto existente para ro.product.first_api_level , para que requisitos de atualização são aplicados para CTS e Agudos / VTS.

Os fabricantes de dispositivos pode adicionar PRODUCT_PROPERTY_OVERRIDES em seu device.mk arquivo para definir essa propriedade, como 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 lançados com o Android 9 ou superior, defina a ro.product.first_api_level propriedade para um valor válido de codinomes, Tags, e números de compilação .

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

Para dispositivos lançados no 8.x Android ou inferior, unset (remova) o ro.product.first_api_level propriedade para a primeira compilação do produto. Para todos os posteriores constrói, conjunto ro.product.first_api_level para o valor do nível API correta. 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 a bandeira é definida, Android atribui Build.VERSION.SDK_INT para ro.product.first_api_level .

Pacotes de shim CTS

Android 10 ou superior inclui um formato de pacote chamado APEX . Para executar testes de CTS para APIs de gestão APEX (como a atualização para uma nova versão ou relatar ápices ativos) você deve pré-instalar um CtsShimApex pacote em um /system partição.

A APEX calço teste de validação verifica a aplicação das CtsShimApex .

ro.apex.updatable requisitos

  • Se o ro.apex.updatable propriedade é definida como true , CtsShimApex é necessário para todos os dispositivos que suportam o gerenciamento de pacotes APEX.

  • Se o ro.apex.updatable propriedade está ausente ou não está definido, CtsShimApex não é obrigado a ser pré-instalado em um dispositivo.

A APEX calço teste de validação verifica a aplicação das CtsShimApex .

CtsShim pré-instala e preloads

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

Se o dispositivo não suporta gerenciamento de pacotes APEX (isto é, o ro.apex.updatable propriedade está ausente ou não está definido), ou se o dispositivo está executando a versão 10 ou inferior, os dois aplicativos pré-construídos devem ser pré-instalado no sistema separadamente.

Versão do dispositivo Pré-instalar
(se houver suporte para APEX)
Pré-carga
BRAÇO x86 BRAÇO x86
Android 12 android12-arm-release
sob /system/apex/com.android.apex.cts.shim.apex
android12-x86-release
sob /system/apex/com.android.apex.cts.shim.apex
android12-arm-CtsShim.apk
sob /system/app/CtsShimPrebuilt.apk

android12-arm-CtsShimPriv.apk
sob /system/priv-app/CtsShimPrivPrebuilt.apk

android12-x86-CtsShim.apk
sob /system/app/CtsShimPrebuilt.apk

android12-x86-CtsShimPriv.apk
sob /system/priv-app/CtsShimPrivPrebuilt.apk

Android 11 android11-arm-release
sob /system/apex/com.android.apex.cts.shim.apex
android11-x86-release
sob /system/apex/com.android.apex.cts.shim.apex
android11-arm-CtsShim.apk
sob /system/app/CtsShimPrebuilt.apk

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

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

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

Android 10 android10-release
sob /system/apex/com.android.apex.cts.shim.apex
android10-arm-CtsShim.apk
sob /system/app/CtsShimPrebuilt.apk

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

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

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

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

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

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

x86-CtsShimPriv.apk
sob /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. A aplicação da amostra ESE e o applet de amostra SIM pode ser encontrado em AOSP.

Veja CTS teste para Secure Elemento para obter informações mais detalhadas sobre casos de teste API Open Mobile e casos de teste de controle de acesso.

Requisitos de armazenamento

Os meios de comunicação CTS salientar testes requerem clipes de vídeo para ser em armazenamento externo ( /sdcard ). A maioria dos clipes são de Big Buck Bunny , que é protegido pela Fundação Blender 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 do documento Definição de Compatibilidade Android para a versão de plataforma das resoluções necessárias.

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. Para dispositivos com Android 12 ou superior, todos os cartões SIM devem ter suporte para armazenar números de discagem abreviada (ADN). Cartões GSM e USIM com o arquivo dedicado Telecom (DF Telecom) satisfazer este requisito.

Desenvolvedor UICC

Para executar testes transportadora API CTS, o dispositivo precisa usar um SIM com privilégios transportadora CTS cumprir os requisitos especificados no Preparando a UICC .

Configuração de dispositivo Android

  1. Dados de fábrica redefinir o dispositivo: Configurações> Redefinir Backup &> Restaurar dados de fábrica.

  2. Para definir o idioma do seu dispositivo para Inglês (Estados Unidos): Configurações> Idioma e entrada> Idioma.

  3. Se o dispositivo suporta a personalização de fontes padrão, defina o padrão sans-serif família de fontes para Roboto (o padrão sans-serif família da fonte usada em AOSP compilações).

  4. Ligue a configuração do local se houver um GPS ou função de rede Wi-Fi / celular no dispositivo: Configurações> Local> On.

  5. Conectar a uma rede Wi-Fi que suporta IPv6, pode tratar o DUT como um cliente isolado (veja ambiente físico acima), e tem uma conexão com a internet: Configurações> Wi-Fi.

  6. Certifique-se de que nenhum padrão de bloqueio ou senha é definida no dispositivo: Configurações> Segurança> Bloqueio de tela> Nenhum.

  7. Ativar a depuração USB no seu aparelho: Configurações> Opções do desenvolvedor> USB depuração.

  8. Defina o tempo para o formato de 12 horas: Tempo Configurações> Data &> Usar formato 24 horas> Off.

  9. Definir o dispositivo para ficar acordado: Configurações> Opções do desenvolvedor> Stay Awake> On.

  10. Em 5.x Android 4.4.x, defina o dispositivo para permitir locais fictícios: Configurações> Opções do desenvolvedor> Permitir locais fictícios> On.

  11. No Android 4.2 ou superior, desligue a verificação de aplicativos USB: Configurações> Opções do desenvolvedor> Verificar aplicativos através de USB> Desativar.

  12. Abra o navegador e ignore qualquer tela de inicialização / configuração.

  13. 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 através de 4.2 R4: Configurar o dispositivo (ou emulador) para executar os testes de acessibilidade com: abd install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      No dispositivo, habilitar a delegação: Configurações> Acessibilidade> Acessibilidade> Delegar Acessibilidade do Serviço.

    • Versões CTS 6.x ou diminuir: em dispositivos que declare android.software.device_admin , configurar o dispositivo para executar o teste administração dispositivo usando: adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`

      Em Configurações> Segurança> Selecionar administradores do dispositivo, ative os dois android.deviceadmin.cts.CtsDeviceAdminReceiver* administradores do dispositivo. Certifique-se que android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver e quaisquer outros administradores do dispositivo pré-carregados permanecem desativados.

  2. Copie os arquivos de mídia CTS para o dispositivo da seguinte maneira:

    1. Navigate ( cd ) para o caminho onde os arquivos de mídia são baixados e descompactados.
    2. Alterar as permissões de 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 de série ( -s ) de um dispositivo específico para o fim. Por exemplo, para copiar até 720x480 para o dispositivo com serial 1234567, execute:

        ./copy_media.sh 720x480 -s 1234567