إذا كان تطبيقك يعتمد على التفاعلات مع تطبيقات أخرى لإكمال حالات الاستخدام، من المفيد اختبار مدى تأثير تغييرات مستوى ظهور الحزمة في Android 11 (المستوى 30 لواجهة برمجة التطبيقات) والإصدارات الأحدث على تطبيقك.
يقدّم هذا الدليل أيضًا بعض الاقتراحات حول كيفية اختبار تغييرات السلوك ويساعدك في ضبط رسائل السجلّ لتحديد كيفية تأثُّر تطبيقك بشكل أدق.
اختبار التغييرات في السلوك
لاختبار ما إذا كان هذا التغيير في السلوك يؤثر في تطبيقك، أكمِل الخطوات التالية:
- ثبِّت Android Studio 3.6.1 أو إصدار أحدث.
- ثبِّت أحدث إصدار من Gradle متوافق مع Android Studio.
- اضبط
targetSdkVersion
في تطبيقك على30
أو إصدار أحدث. - لا تُدرِج العنصر
<queries>
في ملف بيان تطبيقك. - يُرجى الاتصال بالرقم
getInstalledApplications()
أوgetInstalledPackages()
. تُرجِع كلتا الطريقتَين قائمة تمت فلترتها عند نجاحهما. - معرفة الميزات التي لا تعمل في تطبيقك
- أدخِل
<queries>
الإدخالات المناسبة لإصلاح هذه الميزات.
ضبط رسائل السجلّ لفلترة الحِزم
للتعرّف على مزيد من التفاصيل حول كيفية تأثير مستوى الرؤية التلقائي للتطبيقات في تطبيقك، يمكنك تفعيل رسائل السجلّ لفلترة الحِزم. إذا كنت تُطوّر تطبيقًا تجريبيًا أو تطبيقًا قابلاً لتصحيح الأخطاء في "استوديو Android"، يوفّر سجلّ النظام هذه الميزة. بخلاف ذلك، يمكنك تنفيذ العبارة التالية في نافذة وحدة طرفية لتفعيلها يدويًا:
adb shell pm log-visibility --enable PACKAGE_NAME
بعد ذلك، عندما يتم استبعاد الحِزم من قيم العبارةPackageManager
التي يتم إرجاعها، ستظهر لك رسالة مشابهة لما يلي في Logcat:
I/AppsFilter: interaction: PackageSetting{7654321 \ com.example.myapp/12345} -> PackageSetting{...} BLOCKED