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

Uygulamanız kullanım alanlarını tamamlamak için diğer uygulamalarla etkileşime giriyorsa Android 11 (API düzeyi 30) ve sonraki sürümlerdeki paket görünürlüğündeki değişikliklerin uygulamanızı nasıl etkilediğini test etmeniz faydalı olur.

Bu kılavuzda, davranış değişikliklerinin nasıl test edileceğine dair bazı öneriler de sunulmaktadır. Ayrıca, uygulamanızın nasıl etkilenebileceğini daha ayrıntılı bir düzeyde belirlemek için günlük mesajlarını yapılandırmanıza yardımcı olur.

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 sürümleri yükleyin.
  2. Android Studio'nun desteklediği en son Gradle sürümünü yükleyin.
  3. Uygulamanızın targetSdkVersion sürümünü 30 veya sonraki bir sürüme ayarlayın.
  4. Uygulamanızın manifest dosyasına <queries> öğesini eklemeyin.
  5. getInstalledApplications() veya getInstalledPackages() numaralı telefondan bizi arayın. 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şleri yapın.

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 bilgi edinmek için paket filtreleme ile ilgili günlük mesajlarını etkinleştirebilirsiniz. Android Studio'da bir test uygulaması veya hata ayıklanabilir uygulama geliştiriyorsanız sistem günlüğü bu özelliği sizin için sağlar. Aksi takdirde, özelliği manuel olarak etkinleştirmek için bir terminal penceresinde aşağıdaki komutu çalıştırabilirsiniz:

adb shell pm log-visibility --enable PACKAGE_NAME

Ardından, paketler bir PackageManager nesnesinin dönüş değerlerinden her filtrelendiğinde Logcat'te aşağıdakine benzer bir mesaj görürsünüz:

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