Wenn Ihre App für ihre Anwendungsfälle auf Interaktionen mit anderen Apps angewiesen ist, sollten Sie testen, wie sich die Änderungen der Paketsichtbarkeit in Android 11 (API-Level 30) und höher auf Ihre App auswirken.
Dieser Leitfaden enthält auch einige Vorschläge zum Testen der Verhaltensänderungen und hilft Ihnen, Logeinträge zu konfigurieren, um genauer zu bestimmen, wie Ihre App betroffen sein könnte.
Verhaltensänderungen testen
So testen Sie, ob sich diese Verhaltensänderung auf Ihre App auswirkt:
- Installieren Sie Android Studio 3.6.1 oder höher.
- Installieren Sie die aktuelle Version von Gradle, die von Android Studio unterstützt wird.
- Legen Sie die
targetSdkVersionIhrer App auf30oder höher fest. - Fügen Sie das Element
<queries>nicht in die Manifestdatei Ihrer App ein. - Rufen Sie
getInstalledApplications()odergetInstalledPackages()auf. Beide Methoden geben bei Erfolg eine gefilterte Liste zurück. - Sehen, welche Funktionen Ihrer App nicht funktionieren.
- Fügen Sie entsprechende
<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 Apps auf Ihre App auswirkt, können Sie Logeinträge für die Paketfilterung aktivieren. Wenn Sie in Android Studio eine Test-App oder eine debugfähige App entwickeln, bietet das Systemprotokoll diese Funktion. Andernfalls können Sie den folgenden Befehl in einem Terminalfenster ausführen, 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 wie die folgende angezeigt:
I/AppsFilter: interaction: PackageSetting{7654321 \
com.example.myapp/12345} -> PackageSetting{...} BLOCKED