Como testar o comportamento da visibilidade de pacotes

Caso seu app dependa de interações com outros apps para concluir os casos de uso, teste como as mudanças da visibilidade de pacotes afetam seu app.

Este guia também oferece algumas sugestões sobre como testar as mudanças de comportamento. O guia também ajuda você a configurar mensagens de registro para determinar um nível mais granular de como seu app pode ser afetado.

Testar as mudanças de comportamento

Para testar se essa mudança de comportamento entra em vigor no seu app, conclua as seguintes etapas:

  1. Instale o Android Studio 3.6.1 ou uma versão mais recente.
  2. Instale a versão mais recente do Gradle compatível com o 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 retornarão uma lista filtrada.
  6. Veja 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ê verá uma mensagem semelhante à seguinte no Logcat:

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