Menguji perilaku visibilitas paket

Jika aplikasi Anda mengandalkan interaksi dengan aplikasi lain untuk menyelesaikan kasus penggunaannya, sebaiknya uji pengaruh perubahan visibilitas paket di Android 11 (API level 30) dan versi yang lebih tinggi.

Panduan ini juga memberikan beberapa saran tentang cara menguji perubahan perilaku dan membantu Anda mengonfigurasi pesan log untuk menentukan secara lebih terperinci bagaimana aplikasi Anda dapat terpengaruh.

Menguji perubahan perilaku

Untuk menguji apakah perubahan perilaku ini memengaruhi aplikasi Anda, selesaikan langkah-langkah berikut:

  1. Instal Android Studio 3.6.1 atau versi yang lebih baru.
  2. Instal Gradle versi terbaru yang didukung oleh Android Studio.
  3. Setel targetSdkVersion aplikasi Anda ke 30 atau yang lebih tinggi.
  4. Jangan sertakan elemen <queries> di file manifes aplikasi Anda.
  5. Panggil getInstalledApplications() atau getInstalledPackages(). Kedua metode ini menampilkan daftar yang difilter jika berhasil.
  6. Lihat fitur mana saja di aplikasi Anda yang tidak berfungsi.
  7. Masukkan entri <queries> yang sesuai untuk memperbaiki fitur tersebut.

Mengonfigurasi pesan log untuk pemfilteran paket

Untuk menemukan detail lengkap tentang bagaimana visibilitas default aplikasi memengaruhi aplikasi, Anda dapat mengaktifkan pesan log untuk pemfilteran paket. Jika Anda mengembangkan aplikasi pengujian atau aplikasi yang dapat di-debug di Android Studio, log sistem memberikan kemampuan ini untuk Anda. Jika tidak, Anda dapat menjalankan perintah berikut di jendela terminal untuk mengaktifkannya secara manual:

adb shell pm log-visibility --enable PACKAGE_NAME

Kemudian, setiap kali paket difilter dari nilai hasil objek PackageManager, Anda akan melihat pesan seperti berikut di Logcat:

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