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 paket görünürlüğünün Android 11 (API düzeyi 30) ve üstü sürümlerdeki değişikliklerin uygulamanızı nasıl etkilediğini test etmeniz yararlı olacaktır.

Bu kılavuzda, davranış değişikliklerinin nasıl test edileceğiyle ilgili bazı öneriler de bulunur 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ı 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 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. getInstalledApplications() veya getInstalledPackages() numaralı telefonu arayın. Her iki yöntem de başarılı olduklarında 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

Varsayılan uygulama görünürlüğünün uygulamanızı nasıl etkilediği hakkında daha fazla bilgi edinmek isterseniz paket filtreleme için günlük mesajlarını etkinleştirebilirsiniz. Android Studio'da bir test uygulaması veya hata ayıklaması yapılabilir uygulama geliştiriyorsanız sistem günlüğü bu özelliği sizin için sağlar. Aksi takdirde, manuel olarak etkinleştirmek için bir terminal penceresinde şu 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