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 conforme o esperado, mas em outros casos pode ser preciso fazer modificações no app para adaptá-lo às mudanças na plataforma.
Como os usuários poderão começar a receber a nova plataforma assim que o código-fonte for lançado para o AOSP (Android Open Source Project), é importante que os apps estejam prontos, funcionando como esperado pelos usuários e usando os novos recursos e APIs para aproveitar a nova plataforma ao máximo.
Este documento apresenta uma visão geral das fases de desenvolvimento e teste que ajudam você a acompanhar o cronograma de lançamento da plataforma e garantir uma boa experiência para seus usuários no Android 11.
Uma migração típica tem duas fases, que podem ser simultâneas:
- Garantir a compatibilidade com o app (até a versão final do Android 11)
- Adaptar o app aos novos recursos e APIs da plataforma (assim que possível após a versão final)
Esta página descreve as etapas gerais para cada uma dessas fases. Assim que puder começar, leia Instalar o Android 11.
Garantir a compatibilidade com o Android 11
É importante testar a funcionalidade do seu app com o Android 11 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 modificar 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. As seções a seguir descrevem as etapas.
Antes de começar, familiarize-se com as mudanças de comportamento que podem afetar seu app, mesmo se você não modificar o targetSdkVersion
.
Realizar testes de compatibilidade
Na maioria dos casos, testar a compatibilidade com o Android 11 é como testar a preparação para o lançamento do app. Esse é um bom momento para analisar as principais diretrizes de qualidade do app e as práticas recomendadas para testes.
Basta instalar o app publicado em um dispositivo com o Android 11 e trabalhar com todos os fluxos e funcionalidades buscando encontrar problemas. Para ajudar você a concentrar seus testes, analise as mudanças de comportamento introduzidas no Android 11 que possam afetar a função do seu app ou causar uma falha nele. Não deixe também de revisar as principais mudanças de privacidade e testar as correções que você implementar para acomodá-las.
Além disso, revise e teste os usos de interfaces restritas não SDK
e mude para os equivalentes públicos do SDK ou do NDK. Fique de olho nos avisos do Logcat
que destacam esses acessos e usam o método StrictMode
detectNonSdkApiUsage()
para capturá-los de maneira programática.
Por fim, teste as bibliotecas e os SDKs no app para garantir que eles funcionem conforme o esperado no Android 11 e siga 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. Assim, os usuários poderão testar o app antecipadamente e terão uma transição tranquila ao fazer a atualização para o Android 11.
Atualizar versão de destino do app e criar com novas APIs
Depois de publicar a versão compatível do app, conforme descrito
anteriormente, a próxima etapa é adicionar total compatibilidade com o Android 11
atualizando o targetSdkVersion
e aproveitando as novas APIs e
recursos do Android 11. Você pode fazer isso assim que estiver
tudo pronto, lembrando-se do requisito do Google Play para adaptar o app à nova
plataforma.
Ao começar a trabalhar na compatibilidade total com o Android 11, considere analisar as mudanças de comportamento que se aplicam a apps destinados ao Android 11. Essas mudanças de comportamento podem causar problemas funcionais que talvez você precise resolver. Algumas delas podem exigir bastante trabalho de desenvolvimento, então é melhor se informar com antecedência. Para avaliar o impacto, você também pode usar os controles de compatibilidade para testar seu app com as mudanças selecionadas ativadas.
Confira abaixo as etapas para oferecer compatibilidade total com o Android 11.
Obter o SDK, alterar a versão de destino, criar com novas APIs
Para começar a trabalhar na compatibilidade total com o Android 11, faça o download
do SDK do Android 11 (e de outras ferramentas necessárias) no Android Studio.
Em seguida, altere targetSdkVersion
e compileSdkVersion
para "30"
e
recompile o app. Consulte o guia de configuração para detalhes.
Testar o app para Android 11
Depois de compilar o app e instalá-lo em um dispositivo com Android 11, faça testes para conferir se ele funciona corretamente depois da adaptação ao Android 11. 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 11. Não deixe de analisar as mudanças de privacidade e teste as correções que você implementar após essas mudanças. Também é um bom momento para verificar se o app segue 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 as bibliotecas e os SDKs no app para garantir que eles funcionem conforme o esperado no Android 11 e siga 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 botões de compatibilidade de app
O Android 11 introduz um novo recurso para desenvolvedores que facilita o teste do app com mudanças de comportamento. Com os botões, você pode fazer o seguinte em um app depurável:
- Testar as mudanças sem realmente mudar o targetSdkVersion do app. Você pode usar os botões para forçar a ativação de mudanças específicas de comportamento e avaliar o impacto no app.
- Concentrar seus testes somente em mudanças específicas. Em vez de ter que resolver todas as mudanças de uma só vez, os botões permitem desativá-las, exceto as mudanç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.
Os botões ajudam você durante as mudanças na versão de destino do app ou no desenvolvimento da compatibilidade com o Android 11. Consulte a documentação correspondente para mais detalhes.