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

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

Bu kılavuzda ayrıca, davranış değişikliklerini test etme konusunda bazı öneriler de sunulmakta ve uygulamanızın nasıl etkilenebileceğini daha ayrıntılı bir şekilde belirlemek için günlük mesajlarını yapılandırmanıza yardımcı olunmaktadır.

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ı uygulayın:

  1. Android Studio 3.6.1 veya sonraki bir sürümü yükleyin.
  2. Android Studio'nun desteklediği en yeni 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. Uygulamanızın manifest dosyasına <queries> öğesini eklemeyin.
  5. getInstalledApplications() veya getInstalledPackages() numaralı telefonu 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 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 bilgi edinmek için paket filtreleme ile ilgili günlük mesajlarını etkinleştirebilirsiniz. Android Studio'da test uygulaması veya hata ayıklanabilir uygulama geliştiriyorsanız sistem günlüğü bu özelliği sağlar. Aksi takdirde, 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 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