Migrar apps para o Android 13

Este documento apresenta uma visão geral 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 13.

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, enquanto em outros casos pode ser necessário atualizá-lo para se adaptar às mudanças da plataforma.

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). Por isso, é importante que seus apps estejam prontos, funcionando conforme o esperado para os usuários e aproveitando os 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 13)
  • Direcionar aos novos recursos e APIs da plataforma (assim que possível após o lançamento final)

Garantir a compatibilidade com o Android 13

É importante testar a funcionalidade do app existente no Android 13 para garantir uma ótima experiência para os usuários que atualizarem para a versão mais recente do Android. Algumas mudanças na plataforma podem afetar o comportamento do seu app. Por isso, é importante fazer testes preliminares e detalhados e os ajustes necessários.

Geralmente, é possível ajustar o app e publicar uma atualização sem precisar mudar a targetSdkVersion. Da mesma forma, não é necessário usar novas APIs ou mudar a compileSdkVersion do app, 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.

Instalar o Android 13

Atualize uma imagem do sistema Android 13 no dispositivo ou faça o download de uma imagem de sistema no Android Emulator.

Analisar as mudanças

Analise as mudanças de comportamento do sistema para identificar as áreas em que o app poderá ser afetado.

Teste

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.

Atualizar

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 foi originalmente destinado, sem precisar o direcionar para o Android 13.

Publicar

Assine, faça upload e publique seu Android App Bundle ou APK atualizado.

Realizar testes de compatibilidade

Na maioria dos casos, os testes de compatibilidade com o Android 13 são parecidos com os 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 13 e trabalhe em todos os fluxos e funcionalidades, verificando se há problemas. Para ajudar você a centralizar os testes, analise as mudanças de comportamento para todos os apps introduzidas no Android 13 que podem afetar o funcionamento do app ou causar falhas.

Além disso, analise e teste o uso de interfaces não SDK restritas. Você precisa substituir qualquer interface restrita usada pelo app por um SDK público ou equivalente do NDK. Fique atento aos 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 13 e sigam as práticas recomendadas de privacidade, performance, UX, processamento 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, é recomendável publicar o app compatível imediatamente. Isso permite que os usuários testem o app com antecedência e ajuda a garantir uma transição tranquila para os usuários à medida que eles fazem a atualização para o Android 13.

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 suporte total ao Android 13 atualizando a targetSdkVersion e aproveitando as novas APIs e recursos do Android 13. 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 plataforma.

À medida que você planeja o trabalho para oferecer suporte total ao Android 13, analise as mudanças de comportamento que afetam os apps destinados ao Android 13. Essas mudanças esperadas de comportamento podem causar problemas funcionais que precisam ser resolvidos. Em alguns casos, essas alterações exigem um desenvolvimento significativo. Por isso, recomendamos conhecê-las e resolvê-las 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.

As etapas a seguir descrevem como oferecer suporte total ao Android 13.

Instalar o SDK do Android 13

Instale a versão mais recente de pré-lançamento do Android Studio para criar com o Android 13. Use um dispositivo ou emulador com o Android 13.
Atualize a targetSdkVersion e outras configurações do build.

Analisar as mudanças de comportamento

Analise as mudanças de comportamento que se aplicam a apps destinados ao Android 13. Identifique as áreas em que o app pode ser afetado e planeje formas de oferecer suporte.

Verificar novas mudanças de privacidade

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 13.

Adotar recursos do Android 13

Aproveite as APIs do Android 13 para oferecer novos recursos e funcionalidades no app. Recompile para o Android 13.

Teste

Faça testes em um dispositivo ou emulador Android 13. Foque 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.

Atualização final

Quando as APIs do Android 13 forem concluídas, atualize a targetSdkVersion e outras configurações do build novamente, faça outras atualizações e teste o app.

Publicar

Assine, faça upload e publique seu Android App Bundle ou APK atualizado.

Acessar o SDK, alterar o destino, criar com novas APIs

Para começar a testar o suporte total ao Android 13, use a versão de pré-lançamento mais recente do Android Studio para fazer o download do SDK do Android 13 e de outras ferramentas necessárias. Em seguida, atualize a targetSdkVersion e a compileSdkVersion e recompile o app. Consulte o guia de configuração do SDK para saber mais.

Testar o app para Android 13

Depois de compilar o app e instalá-lo em um dispositivo com o Android 13, comece a testar para garantir que ele funciona corretamente ao ser destinado ao Android 13. Algumas mudanças de comportamento se aplicam somente quando o app é direcionado à nova plataforma. Por isso, analise 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 13. 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 da forma esperada no Android 13 e sigam as práticas recomendadas de privacidade, performance, UX, processamento 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 13 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.
  • 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 app ou enquanto está em desenvolvimento ativo para oferecer suporte ao Android 13, as alternâncias podem ajudar. Para ver mais informações, consulte Mudanças no framework de compatibilidade (Android 13).