Paketsichtbarkeit testen

Wenn deine App zum Ausführen ihrer Anwendungsfälle auf Interaktionen mit anderen Apps angewiesen ist, solltest du testen, wie sich Änderungen an der Paketsichtbarkeit in Android 11 (API-Level 30) und höher auf deine App auswirken.

Dieser Leitfaden enthält auch einige Vorschläge zum Testen der Verhaltensänderungen und hilft Ihnen beim Konfigurieren von Lognachrichten, um detaillierter festzustellen, wie sich dies auf Ihre Anwendung auswirkt.

Verhaltensänderungen testen

Mit den folgenden Schritten können Sie testen, ob sich diese Verhaltensänderung auf Ihre Anwendung auswirkt:

  1. Installieren Sie Android Studio 3.6.1 oder höher.
  2. Installieren Sie die neueste Gradle-Version, die von Android Studio unterstützt wird.
  3. Lege für „targetSdkVersion“ deiner App mindestens 30 fest.
  4. Füge das Element <queries> nicht in die Manifestdatei deiner App ein.
  5. Rufen Sie getInstalledApplications() oder getInstalledPackages() auf. Bei beiden Methoden wird nach Erfolg eine gefilterte Liste zurückgegeben.
  6. Hier siehst du, welche Funktionen deiner App nicht funktionieren.
  7. Führe die entsprechenden <queries>-Einträge ein, 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 Anwendungen auf Ihre Anwendung auswirkt, können Sie Lognachrichten für die Paketfilterung aktivieren. Wenn Sie eine Test-App oder eine debugfähige App in Android Studio entwickeln, ist diese Funktion im Systemprotokoll verfügbar. Andernfalls können Sie den folgenden Befehl in einem Terminalfenster ausführen, um ihn manuell zu aktivieren:

adb shell pm log-visibility --enable PACKAGE_NAME

Wenn dann Pakete aus den Rückgabewerten eines PackageManager-Objekts herausgefiltert werden, wird in Logcat eine Meldung ähnlich der folgenden angezeigt:

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