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

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

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

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

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

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

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

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

adb shell pm log-visibility --enable PACKAGE_NAME

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

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