Testowanie widoczności pakietu

Jeśli Twoja aplikacja wymaga interakcji z innymi aplikacjami, warto przetestować, jak zmiany w widoczności pakietu w Androidzie 11 (poziom API 30) i wyższych wpływają na Twoją aplikację.

Przewodnik zawiera też sugestie dotyczące testowania zmian zachowania oraz pomaga skonfigurować komunikaty dziennika, aby określić, jak zmiany mogą wpłynąć na Twoją aplikację.

Testowanie zmian zachowania

Aby sprawdzić, czy ta zmiana zachowania ma wpływ na Twoją aplikację, wykonaj te czynności:

  1. Zainstaluj Android Studio 3.6.1 lub nowszą wersję.
  2. Zainstaluj najnowszą wersję Gradle obsługiwaną przez Android Studio.
  3. Ustaw wartość targetSdkVersion aplikacji na 30 lub nowszą.
  4. Nie dodawaj elementu <queries> do pliku manifestu aplikacji.
  5. Zadzwoń pod numer getInstalledApplications() lub getInstalledPackages(). Obie metody zwracają odfiltrowaną listę, jeśli operacja się powiedzie.
  6. Sprawdź, które funkcje aplikacji nie działają.
  7. Wprowadź odpowiednie wpisy <queries>, aby naprawić te funkcje.

Konfigurowanie komunikatów logowania do filtrowania pakietów

Aby dowiedzieć się więcej o tym, jak domyślna widoczność aplikacji wpływa na Twoją aplikację, możesz włączyć wiadomości dziennika do filtrowania pakietów. Jeśli w Android Studio tworzysz aplikację testową lub aplikację z możliwością debugowania, dziennik systemowy zapewnia tę funkcję. Jeśli nie, możesz uruchomić to polecenie w oknie terminala, aby włączyć je ręcznie:

adb shell pm log-visibility --enable PACKAGE_NAME

Następnie, gdy pakiety zostaną odfiltrowane z wartości zwracanych obiektu PackageManager, w Logcat zobaczysz komunikat podobny do tego:

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