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 funcionará exatamente da forma esperada, mas em outros casos poderá ser necessário fazer mudanças no app para se adaptar às mudanças da 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 conforme o esperado e aproveitando os novos recursos e APIs para aproveitar ao máximo a nova plataforma.
Este documento oferece uma visão de alto nível das fases típicas de desenvolvimento e teste que podem ajudar você a se preparar para acompanhar o cronograma de lançamento da plataforma e garantir uma ótima 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)
- Direcionar 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. Quando estiver tudo pronto para começar, leia Instalar o Android 11.
Garantir a compatibilidade com o Android 11
É importante testar a funcionalidade do app existente no Android 11 para garantir uma ótima experiência para os usuários que fizerem a atualização 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 os ajustes necessários 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 a 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 mudar o
targetSdkVersion
.
Realizar testes de compatibilidade
Na maioria dos casos, testar a compatibilidade com o Android 11 é semelhante ao tipo de teste que você realizaria ao se preparar para lançar o app. Esse é um bom momento para analisar as principais diretrizes de qualidade de apps 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 podem afetar a função do app ou causar falhas. Especificamente, analise as principais mudanças de privacidade e teste todas as correções que você implementar para acomodar as mudanças.
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 os capturar de maneira programática.
Por fim, teste totalmente 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, manipulação 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 com antecedência e ajuda você a proporcionar uma transição tranquila para os usuários à medida que eles fazem 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 suporte total ao Android 11,
atualizando a targetSdkVersion
e aproveitando os novos aPIs e
recursos do Android 11. Você poderá fazer isso assim que estiver
tudo pronto. Não se esqueça do requisito do Google Play para definir a nova
plataforma.
À medida que você planejar seu trabalho para oferecer compatibilidade total com o Android 11, um bom ponto de partida é analisar as mudanças de comportamento que se aplicam a apps destinados ao Android 11. Essas mudanças esperadas de comportamento podem causar problemas funcionais que talvez precisem ser resolvidos. Em alguns casos, elas podem exigir um desenvolvimento significativo, por isso é melhor conhecê-las o quanto antes. Para avaliar os impactos, você também pode usar as alternâncias de compatibilidade para testar seu aplicativo atual com as mudanças selecionadas ativadas.
As etapas a seguir descrevem como oferecer suporte total ao Android 11.
Acessar o SDK, alterar o destino, criar com novas APIs
Para começar a usar a compatibilidade total com o Android 11, primeiro faça o download
do SDK do Android 11 (e de outras ferramentas necessárias) no Android Studio.
Em seguida, mude o targetSdkVersion
e o compileSdkVersion
do app para "30"
e
recompile o app. Consulte o guia de configuração para mais detalhes.
Testar o app para Android 11
Depois de compilar o app e instalá-lo em um dispositivo com o Android 11, comece a testar para garantir que ele funciona corretamente ao ser direcionado ao Android 11. Algumas mudanças de comportamento se aplicam somente quando o app é destinado à nova plataforma. Portanto, é recomendável 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. Especificamente, revise as mudanças de privacidade e teste todas as correções implementadas para acomodar as mudanças. 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 os usos de interfaces restritas não SDK
que possam ser aplicadas. 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 totalmente 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, manipulação 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 11 apresenta um novo recurso para desenvolvedores que facilita os testes 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.
- Gerencie alternâncias por meio do adb. Você pode usar comandos adb para ativar e desativar as mudanças alternáveis no seu ambiente de teste automatizado.
- Depure mais rapidamente usando códigos de mudança padrão. Cada uma delas tem um ID e um nome exclusivos 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 para a compatibilidade com o Android 11, as alternâncias podem ajudar. Consulte a documentação correspondente para saber mais detalhes.