Este documento oferece uma visão geral das ações de desenvolvimento e teste que você pode realizar para se alinhar ao cronograma de lançamento da plataforma Android e garantir uma experiência do usuário perfeita no Android 17.
A cada versão do Android, introduzimos novos recursos e mudanças de comportamento com o objetivo de tornar o Android mais útil, mais seguro e melhorar o desempenho. Em muitos casos, seu app vai funcionar exatamente como o esperado, mas em outros casos pode ser necessário atualizá-lo para se adaptar às mudanças da plataforma.
Os usuários começarão a receber a nova plataforma assim que o código-fonte for lançado para o AOSP (Android Open Source Project). Por isso, é importante que os apps estejam prontos, funcionando da forma esperada e usufruindo dos novos recursos e APIs para aproveitar ao máximo a nova plataforma.
Uma migração típica tem duas fases, que podem ser simultâneas:
- Garantir a compatibilidade do app (até a versão final do Android 17)
- Adaptar o app aos novos recursos e APIs da plataforma (assim que possível após a versão final)
Garantir a compatibilidade com o Android 17
É importante testar a funcionalidade do seu app com o Android 17 para garantir uma boa experiência aos usuários que atualizarem para a versão mais recente do Android. Algumas mudanças na plataforma podem afetar o comportamento do app. Por isso, é importante fazer testes preliminares e detalhados e fazer as modificações necessárias no app.
Normalmente, é possível ajustar o app e publicar uma atualização sem precisar mudar o targetSdkVersion. Da mesma forma, não é necessário usar novas APIs ou
mudar o compileSdkVersion, embora isso possa depender da forma como seu
app foi criado e da funcionalidade da plataforma que ele está usando.
Antes de iniciar os testes, familiarize-se com as mudanças de comportamento para todos os apps. Essas mudanças podem afetar seu app, mesmo que você não mude a
targetSdkVersion.
Atualize uma imagem do sistema Android 17 no dispositivo ou faça o download de uma imagem de sistema no Android Emulator.
Analise as mudanças de comportamento do sistema para identificar as áreas em que o app poderá ser afetado.
Instale o app no dispositivo ou emulador e faça testes. Fique atento às mudanças de comportamento do sistema e trabalhe em todos os fluxos do app.
Faça somente as mudanças de código necessárias para adaptar o app às mudanças de comportamento ou resolver problemas. Recompile com o mesmo nível de API a que o app é originalmente destinado sem precisar direcionar para o Android 17.
Assine, faça upload e publique seu Android App Bundle ou APK atualizado.
Testar a compatibilidade do app no Android 17
Na maioria dos casos, os testes de compatibilidade com o Android 17 são semelhantes aos testes comuns de apps. Esse é um bom momento para analisar as principais diretrizes de qualidade de apps e as práticas recomendadas para testes.
Para testar, instale o app publicado em um dispositivo com o Android 17 e trabalhe nos fluxos e funcionalidades para identificar problemas. Para concentrar seus testes, analise as mudanças de comportamento para todos os apps introduzidas no Android 17 que podem afetar o funcionamento do app ou causar uma falha nele.
Além disso, analise e teste o uso de interfaces não SDK
restritas. É necessário substituir qualquer interface restrita usada pelo app por
um SDK público ou equivalente do NDK. Preste atenção nos avisos do Logcat que destacam esses
acessos e use o método detectNonSdkApiUsage() do StrictMode para capturá-los
de forma programática.
Por fim, teste totalmente as bibliotecas e os SDKs no app para garantir que eles funcionem da forma esperada no Android 17 e sigam as práticas recomendadas de privacidade, desempenho, UX, tratamento de dados e permissões. Se você encontrar um problema, tente atualizar para a versão mais recente do SDK ou entre em contato com o desenvolvedor do SDK para receber ajuda.
Quando terminar o teste e fizer as atualizações, recomendamos publicar o app compatível imediatamente. Isso permite que os usuários testem o app antecipadamente e ajuda a garantir uma transição tranquila para os usuários ao fazer a atualização para o Android 17.
Atualizar versão de destino do app e criar com novas APIs
Depois de publicar uma versão compatível do app, a próxima etapa é adicionar
compatibilidade total com o Android 17 atualizando o targetSdkVersion
e aproveitando as novas APIs e recursos do Android 17.
Você poderá fazer essas atualizações assim que estiver tudo pronto. Não se esqueça dos requisitos do Google
Play para definir a nova plataforma como a versão de destino.
À medida que você planeja seu trabalho para oferecer suporte total ao Android 17, analise as mudanças de comportamento que afetam os apps destinados ao Android 17. Essas mudanças esperadas de comportamento podem causar problemas funcionais que talvez você precise resolver. Em alguns casos, essas mudanças exigem um desenvolvimento significativo. Por isso, recomendamos tomar conhecimento sobre elas e resolver os problemas o mais cedo possível. Para ajudar a identificar mudanças de comportamento específicas que afetam seu app, use as alternâncias de compatibilidade para testar o app com as mudanças selecionadas ativadas.
Confira abaixo as etapas para oferecer suporte total ao Android 17.
Instale a versão mais recente de pré-lançamento do Android Studio para criar
com o Android 17. Use um dispositivo ou emulador com o
Android 17.
Atualize a targetSdkVersion e outras configurações
do build.
Analise as mudanças de comportamento que se aplicam a apps destinados ao Android 17. Identifique as áreas em que o app pode ser afetado e planeje formas de oferecer compatibilidade.
Faça as mudanças no código e na arquitetura necessárias para oferecer suporte às mudanças de privacidade do usuário do Android 17.
Aproveite as APIs do Android 17 para oferecer novos recursos e funcionalidades nos apps. Recompile para o Android 17.
Faça testes em um dispositivo ou emulador Android 17. Concentre-se nas áreas em que as mudanças de comportamento podem afetar o app. Teste funcionalidades que usam as novas APIs. Envie feedback sobre a plataforma e a API. Relate problemas na plataforma, API ou SDK de terceiros.
Quando as APIs do Android 17 forem concluídas, atualize a
targetSdkVersion e outras configurações do build
mais uma vez, faça outras atualizações e teste o app.
Assine, faça upload e publique seu Android App Bundle ou APK atualizado.
Acessar o SDK, alterar o destino, criar com novas APIs
Para iniciar o teste de suporte total ao Android 17, use a versão de pré-lançamento mais recente do Android Studio para fazer o download do SDK do Android 17 e de outras ferramentas necessárias. Em seguida, atualize a targetSdkVersion e a
compileSdkVersion do app e recompile o app. Consulte o guia de configuração do SDK para
mais detalhes.
Testar o app para Android 17
Depois de compilar o app e instalá-lo em um dispositivo com Android 17, faça testes para conferir se ele funciona corretamente depois da adaptação ao Android 17. Algumas mudanças de comportamento se aplicam somente quando o app é criado para a nova plataforma. Portanto, convém revisar essas mudanças antes de começar.
Assim como nos testes básicos de compatibilidade, trabalhe em todos os fluxos e funcionalidades para verificar se há problemas. Concentre seus testes nas mudanças de comportamento para apps destinados ao Android 17. Também é um bom momento para verificar se o app está de acordo com as principais diretrizes de qualidade de apps e as práticas recomendadas para testes.
Revise e teste a eficiência das interfaces restritas não SDK pertinentes. Preste atenção nos avisos do Logcat que destacam esses acessos e use
o método StrictMode detectNonSdkApiUsage() para capturá-los
de maneira programática.
Por fim, teste totalmente as bibliotecas e os SDKs no app para garantir que eles funcionem da forma esperada no Android 17 e sigam as práticas recomendadas de privacidade, desempenho, UX, tratamento de dados e permissões. Se você encontrar um problema, tente atualizar para a versão mais recente do SDK ou entre em contato com o desenvolvedor do SDK para receber ajuda.
Testar usando alternâncias de compatibilidade de apps
O Android 17 inclui alternâncias de compatibilidade que facilitam o teste do app com mudanças de comportamento esperadas. Para um app depurável, as alternâncias permitem que você:
- Teste as mudanças esperadas sem realmente mudar a targetSdkVersion do app. Você pode usar as alternâncias para forçar a ativação de mudanças específicas de comportamento esperado e avaliar o impacto no app existente.
- Concentre seus testes somente em mudanças específicas. Em vez de ter que resolver todas as mudanças esperadas de uma só vez, as alternâncias permitem as desativar, exceto as que você quer testar.
- Gerenciar os botões usando o adb. Você pode usar comandos adb para ativar e desativar as mudanças alternáveis no seu ambiente de teste automatizado.
- Fazer depurações usando IDs de mudança padrão. Cada uma das mudanças alternáveis tem um ID e um nome exclusivo que podem ser usados para depurar rapidamente a causa raiz na saída do registro.
À medida que você se prepara para mudar a versão de destino do seu app ou enquanto está em desenvolvimento ativo para a compatibilidade com o Android 17, as alternâncias podem ajudar. Para mais informações, consulte Mudanças no framework de compatibilidade (Android 17).