Migrar apps para o Android 17

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 lançamento do Android, apresentamos novos recursos e mudanças de comportamento com o objetivo de tornar o Android mais útil, seguro e eficiente. Em muitos casos, seu app funcionará exatamente da forma esperada, mas em outros casos poderá ser necessário fazer atualizações no app para adaptá-lo à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 a 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 as mudanças necessárias no app.

Geralmente, é possível ajustar o app e publicar uma atualização sem precisar mudar o targetSdkVersion do app. 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 modifique o targetSdkVersion.

Acessar o Android 17

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

Verificar as alterações

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 da API a que o app é originalmente destinado sem precisar direcionar para o Android 17.

Publicar

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 centralizar os testes, analise as mudanças de comportamento para todos os apps introduzidas no Android 17 que podem afetar o funcionamento do app ou gerar falhas no app.

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 StrictMode detectNonSdkApiUsage() 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, 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 os testes 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 a garantir uma transição tranquila para os usuários à medida que eles fazem 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 suporte total ao 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 de comportamento direcionadas podem causar problemas funcionais que talvez você precise resolver. Em alguns casos, essas mudanças exigem um desenvolvimento significativo. Por isso, recomendamos aprender sobre elas e resolvê-las o mais cedo possível. Para ajudar a identificar as mudanças de comportamento específicas que afetam seu app, use as alternâncias de compatibilidade para testar mudanças selecionadas no app.

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

Acessar o SDK do Android 17

Instale a versão mais recente de pré-lançamento do Android Studio para criar com o Android 17. Verifique se você tem um dispositivo ou emulador do Android 17.
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 17. Identifique as áreas em que o app pode ser afetado, e planeje formas de oferecer compatibilidade.

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

Adotar recursos do Android 17

Aproveite as APIs do Android 17 para trazer novos recursos e capacidades aos seus apps. Recompile para o Android 17.

Teste

Teste em um dispositivo ou emulador do 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.

Atualização final

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.

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 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 o targetSdkVersion e compileSdkVersion e recompile o app. Consulte o guia de configuração do SDK para ver mais detalhes.

Testar o app do Android 17

Depois de compilar o app e instalá-lo em um dispositivo com o Android 17, comece a testar para garantir que ele funciona corretamente quando destinado 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, 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 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.

Os botões ajudam você durante as mudanças na versão de destino do app ou no desenvolvimento da compatibilidade com o Android 17. Para saber mais, consulte Mudanças no framework de compatibilidade (Android 17).