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.

Dieser Leitfaden enthält auch einige Vorschläge zum Testen der Verhaltensänderungen. Außerdem können Sie Logeinträge konfigurieren, um detailliertere und aus, wie Ihre App betroffen sein könnte.

Verhaltensänderungen testen

Um zu testen, ob sich diese Verhaltensänderung auf Ihre App auswirkt, folgenden Schritten:

  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. Lege für „targetSdkVersion“ deiner App mindestens 30 fest.
  4. Fügen Sie das <queries>-Element nicht in die Manifestdatei Ihrer App ein.
  5. Anruf getInstalledApplications() oder getInstalledPackages(). Bei beiden Methoden wird nach Erfolg eine gefilterte Liste zurückgegeben.
  6. Sehen Sie nach, welche Funktionen Ihrer App nicht funktionieren.
  7. Passende <queries> einführen um diese Funktionen zu korrigieren.

Logeinträge für die Paketfilterung konfigurieren

Weitere Informationen dazu, wie sich die Standardsichtbarkeit von Apps auf Ihr können Sie Logeinträge für die Paketfilterung aktivieren. Wenn Sie eine Test-App oder debug-fähige App in Android Studio verwenden, liefert das Systemprotokoll für Sie verfügbar ist. Andernfalls können Sie den folgenden Befehl in einem Terminalfenster, um sie 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