تصحيح أخطاء حِزم APK المُنشأة مسبقًا

يتيح لك الإصدار 3.0 من "استوديو Android" أو الإصدارات الأحدث إنشاء ملفات APK تم تفعيل تصحيح الأخطاء فيها وتصحيح الأخطاء فيها بدون الحاجة إلى إنشائها من مشروع على "استوديو Android".

لبدء تصحيح أخطاء APK، اتبع الخطوات التالية:

  1. من شاشة الترحيب في "استوديو Android"، انقر على الملف الشخصي أو حزمة APK لتصحيح الأخطاء.

    إذا كان لديك مشروع مفتوح، انقر على ملف > الملف الشخصي أو حزمة APK من شريط القوائم.

  2. في مربع الحوار الذي يظهر، اختَر حِزمة APK التي تريد استيرادها إلى Android Studio.

  3. انقر على موافق.

إذا لم يظهر هذا الخيار، فتأكد من تمكين المكون الإضافي "Android APK Support".

بعد ذلك، يعرض "استوديو Android" ملفات APK التي تم فك حزمتها بطريقة تشبه الشكل 1. هذه ليست مجموعة مترجمة بالكامل من الملفات، ولكنها توفر ملفات SMALI لنسخة أكثر قابلية للقراءة من ملفات DEX.

استيراد حزمة APK تم إنشاؤها مسبقًا إلى "استوديو Android"

الشكل 1. استيراد حزمة APK تم إنشاؤها مسبقًا إلى Android Studio.

تتيح لك طريقة عرض Android في جزء "المشروع" فحص المحتوى التالي في حزمة APK:

  • ملف APK: انقر مرّتين على ملف APK لفتح أداة تحليل حِزم APK.
  • manifests: يحتوي على بيانات التطبيق المستخرَجة من حِزمة APK.
  • JavaScript: يحتوي على رمز Kotlin أو Java الذي يفكّه "استوديو Android" (إلى ملفات SMALI) من ملفات DEX على حزمة APK. يتطابق كل ملف SMALI في هذا الدليل مع فئة Kotlin أو Java.
  • cpp: إذا كان تطبيقك يتضمن رمزًا برمجيًا أصليًا، سيحتوي هذا الدليل على مكتبات APK الأصلية (ملفات SO).
  • المكتبات الخارجية: تحتوي على حزمة تطوير البرامج (SDK) لنظام التشغيل Android.

يمكنك استخدام محلّل Android لبدء اختبار أداء تطبيقك.

لتصحيح أخطاء رمز Kotlin أو Java لتطبيقك، عليك إرفاق مصادر Kotlin أو Java وإضافة نقاط إيقاف في الملفات المصدر Kotlin أو Java. وبالمثل، لتصحيح أخطاء الرمز البرمجي الأصلي، عليك إرفاق الرموز الأصلية لتصحيح الأخطاء.

إرفاق مصادر Kotlin أو Java

وفقًا للإعدادات التلقائية، يستخرج "استوديو Android" رمز Kotlin أو Java من حزمة APK ويحفظه كملفات SMALI. لتصحيح أخطاء رمز Kotlin أو Java باستخدام نقاط التوقف، عليك توجيه بيئة تطوير البرامج (IDE) إلى ملفات مصدر Kotlin أو Java التي تتوافق مع ملفات SMALI التي تريد تصحيح الأخطاء فيها.

لإرفاق مصادر Kotlin أو Java، اتّبِع الخطوات التالية:

  1. انقر مرّتين على ملف SMALI من جزء المشروع في طريقة عرض Android. بعد فتح الملف، يعرض المحرِّر بانر يطلب منك اختيار مصادر Kotlin أو Java: إرفاق بانر المصادر
  2. انقر على إرفاق مصادر Kotlin/Java... من البانر في نافذة المحرّر.
  3. انتقِل إلى الدليل الذي يحتوي على ملفات مصدر Kotlin أو Java في التطبيق وانقر على فتح.

في نافذة المشروع، يستبدل "استوديو Android" ملفات SMALI بملفات مصدر Kotlin أو Java المقابلة. يتضمن Android Studio أيضًا دروسًا داخلية تلقائيًا. يمكنك الآن إضافة نقاط توقف وتصحيح أخطاء تطبيقك.

إرفاق الرموز الأصلية لتصحيح الأخطاء

إذا كانت حزمة APK تتضمّن مكتبات أصلية (ملفات SO) لا تتضمّن رموز تصحيح الأخطاء، يعرض "استوديو Android" لك بانرًا مشابهًا للفيديو المعروض في الشكل 1. لا يمكنك تصحيح أخطاء الرمز البرمجي الأصلي لحزمة APK أو استخدام نقاط الإيقاف بدون إرفاق مكتبات أصلية يمكن تصحيح الأخطاء فيها.

لإرفاق مكتبات أصلية قابلة للتصحيح، اتّبِع الخطوات التالية:

  1. يمكنك تنزيل NDK والأدوات إذا لم يسبق لك تنزيلها.
  2. في عرض Android، ضمن دليل cpp في نافذة المشروع، انقر مرّتين على ملف مكتبة أصلية لا يتضمن رموز تصحيح الأخطاء.

    يعرض المحرر جدولاً يحتوي على جميع واجهات التطبيق الثنائية (ABI) المتوافقة مع حزمة APK.

  3. انقر على إضافة في أعلى يسار نافذة المحرّر.

  4. انتقِل إلى الدليل الذي يتضمّن المكتبات الأصلية القابلة للتصحيح التي تريد إرفاقها، ثمّ انقر على حسنًا.

إذا تم إنشاء حزمة APK ومكتبات رموز تصحيح الأخطاء الأصلية باستخدام محطة عمل مختلفة، عليك أيضًا تحديد المسارات لرموز تصحيح الأخطاء المحلية من خلال اتّباع الخطوات التالية:

  1. أضِف المسارات المحلية إلى رموز تصحيح الأخطاء الناقصة عن طريق تعديل الحقل ضمن عمود المسارات المحلية في قسم تعيينات المسارات بنافذة المحرر، كما هو موضّح في الشكل 2.

    وفي معظم الحالات، تحتاج فقط إلى توفير المسار إلى مجلد جذر، وستفحص "استوديو Android" الأدلة الفرعية تلقائيًا لربط مصادر إضافية. يحدد استوديو Android أيضًا تلقائيًا المسارات لـ NDK عن بعد إلى عملية تنزيل NDK المحلية.

  2. انقر على تطبيق التغييرات في قسم تعيينات المسار في نافذة المحرر.

توفير مسارات لرموز تصحيح الأخطاء المحلية

الشكل 2. المسارات المحلية لتصحيح أخطاء الرموز

وتظهر ملفات المصدر الأصلي في نافذة المشروع. افتح ملفات المصدر الأصلية لإضافة نقاط التوقف وتصحيح أخطاء تطبيقك. لإزالة التعيينات، انقر على محو في قسم تعيينات المسار في نافذة المحرر.

مشكلة معروفة:عند إرفاق رموز تصحيح الأخطاء بحزمة APK، يجب إنشاء كل من حزمة APK وملفات SO القابلة للتصحيح باستخدام محطة العمل نفسها أو خادم الإصدار نفسه.

في الإصدار 3.6 من استوديو Android والإصدارات الأحدث، لا يلزم إنشاء مشروع جديد عند تحديث حزمة APK خارج بيئة التطوير المتكاملة. يرصد "استوديو Android" التغييرات في حزمة APK ويمنحك خيار إعادة استيرادها.

استيراد حِزمة APK المعدّلة

الشكل 3. ويمكن إعادة استيراد حِزم APK التي تم تعديلها خارج "استوديو Android".