Paket görünürlüğü davranışını test et

Uygulamanız, kullanım alanlarını tamamlamak için diğer uygulamalarla olan etkileşimlere dayanıyorsa Android 11 (API düzeyi 30) ve sonraki sürümlerdeki paket görünürlüğünün uygulamanızı nasıl etkilediğini test etmek faydalı olacaktır.

Bu kılavuzda, davranış değişikliklerini nasıl test edeceğinizle ilgili bazı öneriler de yer almaktadır. Ayrıca bu kılavuzda, uygulamanızın nasıl etkilenebileceğini daha ayrıntılı bir şekilde belirlemek için günlük mesajlarını yapılandırabilirsiniz.

Davranış değişikliklerini test etme

Bu davranış değişikliğinin uygulamanızı etkileyip etkilemediğini test etmek için aşağıdaki adımları tamamlayın:

  1. Android Studio 3.6.1 veya sonraki bir sürümü yükleyin.
  2. Android Studio'nun desteklediği en son Gradle sürümünü yükleyin.
  3. Uygulamanızın targetSdkVersion değerini 30 veya daha yüksek bir değere ayarlayın.
  4. <queries> öğesini uygulamanızın manifest dosyasına eklemeyin.
  5. Arayın: getInstalledApplications() veya getInstalledPackages(). Her iki yöntem de başarılı olduğunda filtrelenmiş bir liste döndürür.
  6. Uygulamanızın hangi özelliklerinin çalışmadığını görün.
  7. Bu özellikleri düzeltmek için uygun <queries> girişlerini ekleyin.

Paket filtreleme için günlük mesajlarını yapılandırma

Uygulamaların varsayılan görünürlüğünün uygulamanızı nasıl etkilediği hakkında daha fazla ayrıntı öğrenmek için paket filtreleme için günlük mesajlarını etkinleştirebilirsiniz. Android Studio'da bir test uygulaması veya hata ayıklaması yapılabilecek bir uygulama geliştiriyorsanız sistem günlüğü bu işlevi sizin için sağlar. Aksi takdirde aşağıdaki komutu bir terminal penceresinde çalıştırarak manuel olarak etkinleştirebilirsiniz:

adb shell pm log-visibility --enable PACKAGE_NAME

Ardından, paketler filtrelenerek PackageManager nesnesinin döndürülen değerlerinden çıktığında, Logcat'te aşağıdakine benzer bir mesaj görürsünüz:

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