Testare il comportamento di visibilità del pacchetto
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Se la tua app si basa sulle interazioni con altre app per completare i suoi casi d'uso,
è utile testare in che modo le modifiche alla visibilità dei pacchetti
in Android 11 (livello API 30) e versioni successive influiscono sulla tua app.
Questa guida fornisce anche alcuni suggerimenti su come testare le modifiche al comportamento
e ti aiuta a configurare i messaggi di log per determinare a un livello più granulare
in che modo la tua app potrebbe essere interessata.
Testare le modifiche al comportamento
Per verificare se questa modifica del comportamento influisce sulla tua app, completa i
seguenti passaggi:
Scopri quali funzionalità della tua app non funzionano.
Inserisci voci <queries> appropriate per correggere queste funzionalità.
Configurare i messaggi di log per il filtro dei pacchetti
Per scoprire maggiori dettagli su come la visibilità predefinita delle app influisce sulla tua
app, puoi attivare i messaggi di log per il filtro dei pacchetti. Se stai sviluppando un'app di test o un'app di cui è possibile eseguire il debug in Android Studio, il log di sistema fornisce questa funzionalità. In caso contrario, puoi eseguire il seguente comando in una finestra del terminale per attivarlo manualmente:
adb shell pm log-visibility --enable PACKAGE_NAME
Poi, ogni volta che i pacchetti vengono filtrati dai valori restituiti di un oggetto PackageManager, in Logcat viene visualizzato un messaggio simile al seguente:
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-08-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-27 UTC."],[],[],null,["If your app relies on interactions with other apps to complete its use cases,\nit's useful to test how [package visibility](/training/package-visibility)\nchanges in Android 11 (API level 30) and higher affect your app.\n\nThis guide also gives some suggestions on how to test the behavior changes\nand helps you configure log messages to determine at a more granular\nlevel how your app might be affected.\n\nTest the behavior changes\n\nTo test whether this behavior change affects your app, complete the\nfollowing steps:\n\n1. Install [Android Studio 3.6.1](/studio) or higher.\n2. Install the latest version of Gradle that Android Studio supports.\n3. Set your app's `targetSdkVersion` to `30` or higher.\n4. Don't include the `\u003cqueries\u003e` element in your app's manifest file.\n5. Call [`getInstalledApplications()`](/reference/android/content/pm/PackageManager#getInstalledApplications(int)) or [`getInstalledPackages()`](/reference/android/content/pm/PackageManager#getInstalledPackages(int)). Both methods return a filtered list when they are successful.\n6. See which features of your app aren't working.\n7. Introduce appropriate [`\u003cqueries\u003e`](/guide/topics/manifest/queries-element) entries to fix those features.\n\nConfigure log messages for package filtering\n\nTo discover more details about how the default visibility of apps affects your\napp, you can enable log messages for package filtering. If you're developing a\ntest app or debuggable app in Android Studio, the [system log provides this\ncapability](/studio/debug#systemLog) for you. Otherwise, you can run the\nfollowing command in a terminal window to enable it manually: \n\n```\nadb shell pm log-visibility --enable PACKAGE_NAME\n```\n\nThen, whenever packages are filtered out of a `PackageManager` object's return\nvalues, you see a message similar to the following in Logcat: \n\n```\nI/AppsFilter: interaction: PackageSetting{7654321 \\\n com.example.myapp/12345} -\u003e PackageSetting{...} BLOCKED\n```\n| **Caution:** Your app's performance is affected when this flag is enabled. Unless you're testing how package visibility affects your app, disable the logging of messages related to package visibility."]]