Testare il comportamento di visibilità del pacchetto

Se la tua app si basa sulle interazioni con altre app per completare i suoi casi d'uso, È utile testare la visibilità dei pacchetti le modifiche in Android 11 (livello API 30) e versioni successive interessano la tua app.

Questa guida fornisce anche alcuni suggerimenti su come testare le modifiche del comportamento e consente di configurare i messaggi di log per determinare l'impatto sulla tua app.

Testa le modifiche al comportamento

Per verificare se questa modifica del comportamento influisce sulla tua app, completa la seguenti passaggi:

  1. Installa Android Studio 3.6.1 o versioni successive.
  2. Installa la versione più recente di Gradle supportata da Android Studio.
  3. Imposta targetSdkVersion della tua app su 30 o versioni successive.
  4. Non includere l'elemento <queries> nel file manifest dell'app.
  5. Chiama getInstalledApplications() o getInstalledPackages(). Se hanno esito positivo, entrambi i metodi restituiscono un elenco filtrato.
  6. Scopri quali funzionalità della tua app non sono disponibili.
  7. Presenta le <queries> appropriate. per correggere queste caratteristiche.

Configurazione dei messaggi di log per il filtro dei pacchetti

Per scoprire ulteriori dettagli su come la visibilità predefinita delle app influisce sulle tue puoi abilitare i messaggi di log per il filtro dei pacchetti. Se stai sviluppando un'app di test o un'app di debug in Android Studio, il log di sistema fornisce questa funzionalità. Altrimenti, puoi eseguire seguente comando in una finestra del terminale per abilitarlo manualmente:

adb shell pm log-visibility --enable PACKAGE_NAME

Quindi, ogni volta che i pacchetti vengono esclusi dal reso di un oggetto PackageManager , viene visualizzato un messaggio simile al seguente in Logcat:

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