Testowanie widoczności pakietu

Jeśli Twoja aplikacja korzysta z interakcji z innymi aplikacjami, aby realizować swoje przypadki użycia, 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 w zachowaniu

Aby sprawdzić, czy ta zmiana zachowania ma wpływ na Twoją aplikację:

  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 wyższą.
  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 na potrzeby 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