إذا كان تطبيقك يعتمد على التفاعلات مع التطبيقات الأخرى لإكمال حالات الاستخدام يكون من المفيد اختبار طريقة ظهور الحزمة التغييرات التي طرأت على نظام التشغيل 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
بعد ذلك، عندما يتم استبعاد الحِزم من قيم العبارة "return" في PackageManager
، ستظهر لك رسالة مشابهة لما يلي في Logcat:
I/AppsFilter: interaction: PackageSetting{7654321 \ com.example.myapp/12345} -> PackageSetting{...} BLOCKED