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:
- Android Studio 3.6.1 veya sonraki bir sürümü yükleyin.
- Android Studio'nun desteklediği en son Gradle sürümünü yükleyin.
- Uygulamanızın
targetSdkVersion
değerini30
veya daha yüksek bir değere ayarlayın. <queries>
öğesini uygulamanızın manifest dosyasına eklemeyin.- Arayın:
getInstalledApplications()
veyagetInstalledPackages()
. Her iki yöntem de başarılı olduğunda filtrelenmiş bir liste döndürür. - Uygulamanızın hangi özelliklerinin çalışmadığını görün.
- 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