دليل: إرسال Logcat للمساعدة في تصحيح التطبيق المفضل لديك

لقد حدث لنا جميعًا في وقت أو آخر. لا يوجد عار في الاعتراف بذلك. في بعض الأحيان ، تعطل تطبيقات Android. سواء أكنت تستخدم جهازًا ممتلئًا بالكامل لتشغيل خرائط Google أو قرصًا مخصصًا بدرجة عالية مع وحدة Xposed لتعزيز Google Hangouts ، يمكن أن تحدث أعطال في التطبيق ومشكلات أخرى وقد تصبح عائقًا تمامًا. هذا صحيح بشكل خاص في تطوير تعديلات القرص الصغيرة والتطبيقات مثل العديد من الموجود على موقعنا. عندما تنشأ المشكلات ، فإن واحدة من أكثر الأفكار البناءة والمفيدة التي يمكن للمستخدم أن يضفيها للمطور إلى طبيعة التعطل هي من خلال توفير Logcat. على الرغم من أن هذه المعلومات مفيدة للغاية للمطورين ، إلا أن الحصول على هذه المعلومات يمكن أن يبدو شاقًا إلى حد ما بالنسبة للمستخدم العادي.

عادةً ما تتضمن أدوات سطر الأوامر من خلال ADB ، فإن Logcat بعيد المنال بالنسبة للعديد من المستخدمين الذين لديهم خبرة قليلة أو معدومة في سطر الأوامر. ومع ذلك ، فإن إصدار تطبيقات معينة قد أدى إلى القضاء على ، أو على الأقل الحد بشكل كبير ، مشاركة أوامر ADB في استرداد وإرسال Logcat ، مما يجعل القيام بذلك سهلاً مثل بضع نقرات الشاشة. في مهمتنا التي لا تنتهي لمساعدة التطوير للمطورين ، إليك دليل المبتدئين لتعليم المستخدمين كيفية إرسال Logcat.


ما هو Logcat وكيف يمكننا سحب واحد؟

Logcat هي أداة ADB Shell تستخدم لسحب سجل بجميع أحداث النظام. يتضمن ذلك الأخطاء والتحذيرات وتتبعات المكدس ووقائع النظام العامة. عند حدوث خطأ ، يتم إخراج المعلومات الأساسية التي تشير إلى مصدر الفشل من خلال هذا السجل ، مما يجعله أداة مفيدة للغاية لاستكشاف الأخطاء وإصلاحها. عادة ، يتم سحبها وتصفيتها من خلال أوامر ADB. ومع ذلك ، فإن التطبيقات مثل aLogcat و Catlog وأداة اختيارنا لهذه المقالة ، Matlog ، قد وفرت المستخدمين الجهد من خلال تجميع أدوات الأوامر هذه في واجهة المستخدم الرسومية لتطبيق قابل للتنزيل من Play-Store.

كما ذكرنا ، Matlog هو ما نستخدمه لجمع Logcats. تم اختيار Matlog من خلال Junior Member plusCubed استنادًا إلى واجهة التطبيق المفتوحة المصدر الخاصة بـ Nolan Lawson. مثل Catlog ، يمكن تجميع Matlog من المصدر أو تنزيله مجانًا من متجر Google Play. على الرغم من أن الحصول على الجذر يسمح لك بتخطي خطوة أثناء الإعداد ، فإن الوصول إلى الجذر غير مطلوب لجمع Logcats . إذا لم يكن جهازك متجذرًا ، فستتيح لك إحدى أوامر ADB shell للتطبيق الوصول إلى قراءة سجلات جهازك. لم تقم بعد بإعداد بنك التنمية الآسيوي على جهازك؟ لا مشكلة ، ما عليك سوى اتباع هذه الخطوات لتنشيطه وتشغيله.

ملاحظة: عطلت هواتف Huawei إخراج Logcat بالكامل. ستحتاج إلى تغيير إعداد مخفي قبل المتابعة مع بقية هذا الدليل.


إعداد بنك التنمية الآسيوي

أولاً ، قم بتنزيل ADB binary من Google مباشرة لنظام التشغيل الخاص بك واستخراجه إلى دليل منفصل على جهاز الكمبيوتر الخاص بك. بعد ذلك ، قم بتثبيت برنامج التشغيل المناسب لهاتفك الخاص. بعد ذلك ، قم بتمكين "تصحيح أخطاء USB" في الإعدادات -> خيارات المطور. إذا لم تشاهد خيارات المطور ، فستحتاج إلى تمكينها من خلال الانتقال إلى الإعدادات -> حول الهاتف ثم النقر فوق رقم البناء 7 مرات. أخيرًا ، تأكد من أن ADB يعمل عن طريق بدء تشغيل موجه الأوامر في نفس الدليل مثل ADB binary (انقر بزر الماوس الأيمن -> "open command command here") وقم بتشغيل الأمر التالي:

 adb devices 

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


إعداد Matlog

الآن وبعد أن تم تشغيل ADB وتشغيله (نأمل) ، كل ما عليك القيام به لتمكين Matlog من القدرة على التقاط Logcats هو إصدار الأمر التالي في shell ADB. مرة أخرى ، إذا كان جهازك متجذرًا بالفعل ، فلن تحتاج إلى تشغيل هذا الأمر لأن هذا ضروري فقط للهواتف غير المزروعة.

 adb shell pm grant com.pluscubed.matlog android.permission.READ_LOGS 

Matlog سجل القطعة إلى جانب التطبيق المعطوبة

بمجرد تمكينها وفتحها ، سيعرض Matlog أحداث النظام في الوقت الفعلي. يمكنك النقر فوق الزر "إيقاف مؤقت" لإيقاف هذا ، ثم انقر فوق قائمة علامات الحذف وحدد "مسح" لتخليص حقل البيانات الخارجية. يوصى بالقيام بذلك استعدادًا لتسجيل الدخول إلى التطبيق المعطل من أجل تقليل حجم السجل. لتقصير الخطوات ، وبالتالي طول السجل إلى أبعد من ذلك ، أضف أداة Matlog إلى شاشتك الرئيسية بجوار التطبيق المتوقف المعني ، كما هو موضح على اليمين. في هذه الحالة ، Apktool X هو تطبيقنا المعطل .

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

عند القيام بذلك ، سيتم فتح Matlog للسجل الذي تم التقاطه. اضغط على علامات القطع ، واختر "إرسال" لإرسال السجل بالبريد الإلكتروني كملف نصي مرفق مع معلومات الجهاز العامة. هذا هو! تم القبض على Logcat الخاص بك بنجاح وإرسالها إلى البروفيسور أوك.

في المثال الخاص بي أعلاه ، أستطيع أن أقول أن السبب وراء تعطل Apktool X هو أن جهازي غير مسجل. دوه! كان ينبغي علي قراءة المقال بالكامل قبل محاولة استخدام التطبيق.

كان ذلك سهلًا جدًا

بالطبع ، ليست كل القضايا بهذه السهولة. في بعض الأحيان ، قد تتطلب المشكلات المتعلقة بالتشغيل ، أو المشكلات التي تمتد لفترات زمنية أطول ، ميزات مختلفة من التطبيق لالتقاطها. في مثل هذه الحالات ، ستحتاج إلى تشغيل Matlog في الخلفية (لا توقفه مؤقتًا أو قم بإلغاء تحديده) والاستفادة من وظائف "مستوى السجل" و "التصفية" لتحليل البيانات.

بالرغم من أن هذه الطريقة ليست الطريقة الوحيدة الضرورية لجمع البيانات ذات الصلة - تتطلب بعض المواقف مزيدًا من السياق - يمكن استخدام كل من هذه الأدوات في سجلات أطول لفرز البيانات وتحديدها للمطور. بطبيعة الحال ، يعتمد هذا على طبيعة الخطأ وما يطلبه المطور. لاستخدام أيٍّ من هذه ، ما عليك سوى تشغيل Matlog وإعادة إنتاج مشكلتك والانتقال مرة أخرى إلى Matlog والنقر فوق قائمة النقاط وتحديد إحدى طريقتي الفرز هاتين.

تحديد مستوى السجل يعرض الأخطاء فقط

تسجيل مستوى

أمر ADB آخر تم تبسيطه بواسطة Matlog ، يمكن استخدام وظيفة Log Log لعرض أنواع محددة من أحداث النظام والرسائل. يوجد أدناه وصف موجز لأنواع الرسائل المختلفة ، كما هو موضح في موقع Android Developers على الويب ولون مرمز لمطابقة تصنيف Matlog.

من أدنى إلى أعلى أولوية:

  • الخامس: مطول (أحداث النظام العام)
  • D: تصحيح
  • أنا: معلومات
  • W: تحذير
  • E: خطأ
  • F: قاتلة
  • S: صامت (أعلى أولوية ، لا تتم طباعة أي شيء على الإطلاق)

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

البحث عن مجموعة تصفية ل "Apktool"

مرشحات

يمكن أيضًا استخدام عوامل التصفية لفرز بيانات السجل. من خلال بدء البحث عن كلمة رئيسية ، يتم تمكين المستخدم لرؤية الرسائل التي تشير إلى هذه الكلمة الرئيسية بشكل صريح فقط. قد تتضمن الكلمات الرئيسية المفيدة اسم التطبيق المعطل أو حتى كلمة "خطأ" لأنه يشمل مثيلات المصطلح على جميع مستويات الأولوية ، على الرغم من أنه لا يشمل جميع أخطاء "مستوى السجل".

إذا وجدت نفسك تبحث / ترشيح لبعض الكلمات الرئيسية كثيرًا عند مساعدة أحد المطورين على تصحيح تطبيق ما (أو إذا كان المطور قد أنشأ صراحة حدث سجل فريد يمكنك البحث عنه) ، فيمكنك أيضًا حفظ فلتر يمكنك الرجوع إليه المستقبل. يعد هذا مفيدًا عندما تعرف مسبقًا ما الذي تبحث عنه ، والذي إذا كنت تعمل بالتعاون مع مطور ، سيحدث كثيرًا.

على استعداد لتصحيح؟

رغم أنك قد لا تكون الآن خبيرًا في تصحيح أخطاء تطبيقات Android ، إلا أن تعلم كيفية جمع وإرسال Logcats يمكن أن يجعلك مورداً رائعاً لمطوري تطبيقاتك المفضلة. إن استخدام Matlog والميزات الموضحة أعلاه وتجميع وفرز وإرسال المعلومات ذات الصلة حول تطبيق خلل لم تكن أسهل.


هل استخدمت Matlog أو تطبيق Logcat آخر؟ هل وجدت هذا الدليل مفيدًا؟ اسمحوا لنا أن نعرف في التعليقات أدناه!