Paketsichtbarkeit testen

Wenn deine App auf Interaktionen mit anderen Apps basiert, können Sie testen, wie die Paketsichtbarkeit Änderungen unter Android 11 (API-Level 30) und höher auf deine App auswirken.

Außerdem finden Sie hier einige Vorschläge dazu, wie Sie die Verhaltensänderungen testen und Protokollmeldungen konfigurieren können, um genauer zu ermitteln, wie sich die Änderungen auf Ihre App auswirken könnten.

Verhaltensänderungen testen

So testen Sie, ob sich diese Verhaltensänderung auf Ihre App auswirkt:

  1. Installieren Sie Android Studio 3.6.1 oder höher.
  2. Installieren Sie die neueste Version von Gradle, die von Android Studio unterstützt wird.
  3. Setze die targetSdkVersion deiner App auf 30 oder höher.
  4. Fügen Sie das <queries>-Element nicht in die Manifestdatei Ihrer App ein.
  5. Anruf getInstalledApplications() oder getInstalledPackages(). Bei beiden Methoden wird eine gefilterte Liste zurückgegeben, wenn der Vorgang erfolgreich war.
  6. Hier siehst du, welche Funktionen deiner App nicht funktionieren.
  7. Fügen Sie die entsprechenden <queries>-Einträge hinzu, um diese Funktionen zu korrigieren.

Logeinträge für die Paketfilterung konfigurieren

Wenn Sie mehr darüber erfahren möchten, wie sich die Standardsichtbarkeit von Apps auf Ihre App auswirkt, können Sie Protokollmeldungen für das Paketfiltern aktivieren. Wenn Sie in Android Studio eine Test-App oder eine App zur Fehlerbehebung entwickeln, bietet Ihnen das Systemprotokoll diese Möglichkeit. Andernfalls können Sie den folgenden Befehl in einem Terminalfenster, um sie manuell zu aktivieren:

adb shell pm log-visibility --enable PACKAGE_NAME

Dann, wenn Pakete aus der Rückgabe eines PackageManager-Objekts herausgefiltert werden angezeigt wird, wird in Logcat eine Meldung ähnlich der folgenden angezeigt:

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