Participe do evento ⁠#Android11: apresentação de lançamento da versão Beta no dia 3 de junho.

Atender ao requisito de segmentação de nível de API do Google Play

O APK enviado por upload precisa atender aos requisitos de nível de API do Google Play. Tanto os novos apps quanto as atualizações de apps precisam segmentar pelo menos o Android 9 (nível 28 da API).

Cada nova versão do Android apresenta alterações que trazem melhorias significativas de segurança e desempenho e aprimoram a experiência do usuário no Android em geral. Algumas dessas alterações se aplicam somente a apps que declaram o suporte explicitamente por meio do atributo de manifesto targetSdkVersion, também conhecido como o nível desejado da API.

Configurar o app para segmentar um nível de API recente garante que os usuários se beneficiem dessas melhorias. Ao mesmo tempo, o app poderá ser executado em versões mais antigas do Android. Segmentar um nível de API recente também permite que o app aproveite os últimos recursos da plataforma para conquistar seus usuários. Além disso, a partir do Android 10 (nível 29 da API), os usuários verão um aviso ao iniciarem um app pela primeira vez se o app segmentar o Android 5.1 (nível 22 da API) ou versões anteriores.

Este documento destaca pontos importantes que você precisa saber ao atualizar o nível desejado da API para atender ao requisito do Google Play. Para continuar, clique no nível desejado da API do app:

Observação: se o arquivo Gradle contiver entradas de manifesto, será possível confirmar ou alterar o valor atual de targetSdkVersion no arquivo Gradle do app, conforme descrito em Configurar a versão. Como alternativa, é possível usar o atributo android:targetSdkVersion no arquivo de manifesto, conforme descrito na documentação do elemento de manifesto <uses-sdk>.

Anterior ao Android 5.0 (nível 21 da API)

Consulte cada uma das seguintes versões na página "Alterações de comportamento" para garantir que o app registrou as alterações apresentadas nelas:

Continue seguindo as instruções na próxima seção.

Anterior ao Android 6.0 (nível 23 da API)

As seguintes considerações se aplicam a apps que segmentam o Android 6.0 e versões mais recentes da plataforma:

  • Permissões de tempo de execução

    • Permissões perigosas são concedidas somente em tempo de execução. Os fluxos de interface do usuário precisam fornecer recursos para conceder essas permissões.

    • Sempre que possível, o app precisa estar preparado para lidar com a rejeição de solicitações de permissão. Por exemplo, se um usuário recusar uma solicitação para acessar o GPS do dispositivo, o app precisará ter outra maneira de prosseguir.

Para ver uma lista completa das alterações introduzidas no Android 6.0 (nível 23 da API), consulte a página Alterações de comportamento dessa versão da plataforma.

Continue seguindo as instruções na próxima seção.

Anterior ao Android 7.0 (nível 24 da API)

As seguintes considerações se aplicam a apps que segmentam o Android 7.0 e versões superiores da plataforma:

  • "Soneca" e "App em espera"

    Projete os comportamentos descritos no artigo sobre como otimizar para o "Soneca" e "App em espera", que engloba outras alterações introduzidas em várias versões de plataforma.

    Quando um dispositivo está nos modos "Soneca" e "App em espera", o sistema se comporta da seguinte maneira:

    • Restringe o acesso à rede.
    • Adia alarmes, sincronizações e trabalhos.
    • Restringe as verificações de GPS e Wi-Fi.
    • Restringe mensagens do Firebase Cloud Messaging de prioridade normal.
  • Alterações de permissão

    • O sistema restringe o acesso aos diretórios privados do app.
    • A exposição de um URI file:// fora do app aciona uma FileUriExposedException. Caso você precise compartilhar arquivos fora do app, implemente o FileProvider
  • O sistema proíbe a vinculação a bibliotecas não NDK.

Para ver uma lista completa das alterações introduzidas no Android 7.0 (nível 24 da API), consulte a página Alterações de comportamento dessa versão da plataforma.

Continue seguindo as instruções na próxima seção.

Anterior ao Android 8.0 (nível 26 da API)

As seguintes considerações se aplicam a apps que segmentam o Android 8.0 e versões mais recentes da plataforma:

Para ver uma lista completa das alterações introduzidas no Android 8.0 (nível 26 da API), consulte a página Alterações de comportamento dessa versão da plataforma.

Continue seguindo as instruções na próxima seção.

Anterior ao Android 9.0 (nível 28 da API)

Para ver uma lista completa de alterações introduzidas no Android 9.0 (nível 28 da API), consulte as Alterações de comportamento.

Modernizar os aplicativos

Ao atualizar o nível desejado da API para os apps, considere adotar recursos recentes da plataforma para modernizá-los e conquistar os usuários.

  • Use o CameraX, que está em alfa, para aproveitar ao máximo o uso da câmera.
  • Use os componentes do Jetpack para seguir as práticas recomendadas, eliminar a escrita de código de texto clichê e simplificar tarefas complexas para que você possa se concentrar no código de seu interesse.
  • Use o Kotlin para escrever apps melhores, mais rapidamente e com menos código.
  • Verifique se você está seguindo os requisitos e as práticas recomendadas de privacidade.
  • Adicione compatibilidade com tema escuro aos seus apps.
  • Adicione compatibilidade com a navegação por gestos aos seus apps.
  • Migre o app do Google Cloud Messaging (GCM) para a versão mais recente do Firebase Cloud Messaging.
  • Aproveite o gerenciamento avançado de janelas.

Verificar e atualizar SDKs e bibliotecas

Verifique se as dependências de terceiros do SDK oferecem suporte à API 26: alguns provedores de SDK as publicam no manifesto; outros exigirão uma investigação maior. Se você usa um SDK incompatível com a API 26, defina como prioridade o trabalho com o provedor do SDK para resolver o problema.

Além disso, observe que o targetSdkVersion do app ou jogo pode restringir o acesso a bibliotecas privadas da plataforma Android. Consulte Vinculação de apps NDK às bibliotecas de plataforma para saber mais.

Também é necessário verificar quaisquer restrições que possam existir na versão da Biblioteca de Suporte do Android que você está usando. Como sempre, é preciso garantir a compatibilidade entre a versão principal da Biblioteca de Suporte do Android e o compileSdkVersion do app.

É recomendável escolher um targetSdkVersion menor ou igual à versão principal da Biblioteca de Suporte. Sugerimos a atualização para uma biblioteca de suporte compatível mais recente, a fim de aproveitar os recursos de compatibilidade e correções de bugs mais novos.

Testar seu app

Após atualizar o nível e os recursos da API do app, conforme apropriado, teste alguns casos de uso principais. As sugestões a seguir não são completas, mas visam orientar o processo de teste. Sugerimos testar:

  • Se o app compila para a API 26 sem erros nem avisos.
  • Se o app tem uma estratégia para os casos em que o usuário rejeita solicitações de permissão e solicita ao usuário autorizações. Para fazer isso:
    • Vá para a tela Informações do app e desative cada permissão.
    • Abra o app e garanta que não haja falhas.
    • Execute os principais testes de caso de uso e garanta que as permissões necessárias sejam solicitadas novamente.

  • Se lida com a Soneca com os resultados esperados e sem erros.
  • Usando o adb, coloque seu dispositivo de teste em Soneca enquanto o app estiver em execução.
  • Teste todos os casos de uso que acionam mensagens do Firebase Cloud Messaging.
  • Teste todos os casos de uso que usam alarmes ou tarefas.
  • Elimine todas as dependências nos serviços de segundo plano.
  • Coloque o app no modo "App em espera".
    • Teste todos os casos de uso que acionam mensagens do Firebase Cloud Messaging.
    • Teste todos os casos de uso que usam alarmes.
  • Se lida com novas fotos / vídeos sendo feitos:
  • Se lida com o compartilhamento de arquivos com outros apps:
    • Teste qualquer caso de uso que compartilhe dados de arquivos com qualquer outro app (até do mesmo desenvolvedor).
    • Verifique se o conteúdo é visível no outro app e não aciona falhas.
  • Mais informações

    Ative os e-mails no Google Play Console para que possamos enviar atualizações e comunicados importantes do Android e do Google Play, incluindo nossa newsletter de parceiros.