اختبار سلوك إذن الوصول إلى الحزمة

إذا كان تطبيقك يعتمد على التفاعل مع تطبيقات أخرى لإكمال حالات الاستخدام، من المفيد اختبار تأثير التغييرات في إذن الوصول إلى الحِزم في الإصدار 11 من نظام التشغيل Android (المستوى 30 لواجهة برمجة التطبيقات) والإصدارات الأحدث على تطبيقك.

يقدّم هذا الدليل أيضًا بعض الاقتراحات حول كيفية اختبار التغييرات في السلوك، ويساعدك في ضبط رسائل السجلّ لتحديد مدى تأثّر تطبيقك على مستوى أكثر تفصيلاً.

اختبار التغييرات في السلوك

لاختبار ما إذا كان هذا التغيير في السلوك يؤثّر في تطبيقك، أكمِل الخطوات التالية:

  1. ثبِّت Android Studio 3.6.1 أو إصدارًا أحدث.
  2. ثبِّت أحدث إصدار من Gradle يتوافق مع Android Studio.
  3. اضبط targetSdkVersion لتطبيقك على 30 أو إصدار أحدث.
  4. لا تضمِّن العنصر <queries> في ملف البيان الخاص بتطبيقك.
  5. اتّصِل على getInstalledApplications() أو getInstalledPackages(). تعرض كلتا الطريقتَين قائمة تمت فلترتها عند نجاحهما.
  6. الاطّلاع على ميزات تطبيقك التي لا تعمل
  7. أدخِل <queries> مناسبًا لإصلاح هذه الميزات.

ضبط الرسائل المسجّلة لفلترة الحِزم

للاطّلاع على مزيد من التفاصيل حول كيفية تأثير مستوى الظهور التلقائي للتطبيقات في تطبيقك، يمكنك تفعيل رسائل السجلّ لفلترة الحِزم. إذا كنت بصدد تطوير تطبيق تجريبي أو تطبيق قابل للتصحيح في &quot;استوديو Android&quot;، يوفّر لك سجلّ النظام هذه الإمكانية. بخلاف ذلك، يمكنك تنفيذ الأمر التالي في نافذة الوحدة الطرفية لتفعيلها يدويًا:

adb shell pm log-visibility --enable PACKAGE_NAME

بعد ذلك، عندما تتم فلترة الحِزم من قيم الإرجاع الخاصة بكائن PackageManager، ستظهر لك رسالة مشابهة لما يلي في Logcat:

I/AppsFilter: interaction: PackageSetting{7654321 \
  com.example.myapp/12345} -> PackageSetting{...} BLOCKED