Testar o comportamento de visibilidade do pacote

Caso seu app dependa de interações com outros apps para concluir os casos de uso, é útil testar como a visibilidade do pacote muda no Android 11 (nível 30 da API) e versões mais recentes no seu app.

Este guia também oferece algumas sugestões sobre como testar as mudanças de comportamento e ajuda a configurar mensagens de registro para determinar de forma mais granular como o app pode ser afetado.

Testar as mudanças de comportamento

Para testar se essa mudança de comportamento afeta seu app, siga estas etapas:

  1. Instale o Android Studio 3.6.1 ou uma versão mais recente.
  2. Instale a versão mais recente do Gradle com suporte do Android Studio.
  3. Defina a targetSdkVersion do app como 30 ou mais recente.
  4. Não inclua o elemento <queries> no arquivo de manifesto do app.
  5. Chame getInstalledApplications() ou getInstalledPackages(). Os dois métodos retornam uma lista filtrada quando são bem-sucedidos.
  6. Confira quais recursos do app não estão funcionando.
  7. Introduza as entradas <queries> adequadas para corrigir esses recursos.

Configurar mensagens de registro para filtrar pacotes

Para descobrir mais detalhes sobre como a visibilidade padrão de apps afeta seu app, ative as mensagens de registro para filtragem de pacotes. Se você está desenvolvendo um app de teste ou depurável no Android Studio, o registro do sistema fornece esse recurso para você. Caso contrário, será possível executar o seguinte comando em uma janela de terminal para ativá-lo manualmente:

adb shell pm log-visibility --enable PACKAGE_NAME

Em seguida, sempre que os pacotes forem filtrados dos valores de retorno de um objeto PackageManager, você vai encontrar uma mensagem semelhante a esta no Logcat:

I/AppsFilter: interaction: PackageSetting{7654321 \
  com.example.myapp/12345} -> PackageSetting{...} BLOCKED