Testowanie widoczności pakietu

Jeśli do obsługi zastosowań aplikacja wymaga interakcji z innymi aplikacjami, warto przetestować, jak widoczność pakietu zmiany w Androidzie 11 (poziom interfejsu API 30) i nowszym mają wpływ 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 taka zmiana w działaniu wpływa na Twoją aplikację, wykonaj następujące kroki:

  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 umieszczaj elementu <queries> w pliku manifestu aplikacji.
  5. Zadzwoń pod numer getInstalledApplications() lub getInstalledPackages(). Obie metody, które okażą się skuteczne, zwracają przefiltrowaną listę.
  6. Zobacz, które funkcje aplikacji nie działają.
  7. Przedstaw odpowiedni <queries> aby naprawić te cechy.

Konfigurowanie komunikatów logowania do filtrowania pakietów

Aby dowiedzieć się więcej o wpływie domyślnej widoczności aplikacji na aplikacji, możesz włączyć wiadomości dziennika dla 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