هل سبق لك أن تعطل تطبيقك المفضل فجأة؟ هل تريد مساعدة المطور في تصحيح ما حدث؟ تعرف على كيفية التقاط Logcats وتصفيتها باستخدام دليلنا.
الكرواتيون يلوحون بعلم الاتحاد الأوروبي أثناء احتفالهم بانضمام كرواتيا إلى الاتحاد الأوروبي في ميدان بان جيليسيتش في زغرب في 30 يونيو 2013. احتفل عشرات الآلاف من الكرواتيين بانضمام البلاد إلى الاتحاد الأوروبي عند منتصف ليل الأحد (2200 بتوقيت جرينتش)، بعد مرور ما يقرب من عقدين من انتهاء حرب الاستقلال الدموية في الجمهورية اليوغوسلافية السابقة. صورة لوكالة فرانس برس / سترينجر
لقد حدث لنا جميعًا في وقت أو آخر. ليس هناك عار في الاعتراف بذلك. في بعض الأحيان، تتعطل تطبيقات Android. سواء كنت تستخدم جهازًا متوفرًا بالكامل لتشغيل خرائط Google أو ROM عالي التخصيص مزودًا بوحدة Xpose لتشغيله تعزيز جوجل هانج آوتس، يمكن أن تحدث أعطال في التطبيق ومشكلات أخرى، وقد تصبح عائقًا كبيرًا. وينطبق هذا بشكل خاص على تطوير تعديلات وتطبيقات أصغر حجمًا مثل تلك الموجودة على موقعنا. عند ظهور مشكلات، فإن إحدى الرؤى البناءة والمفيدة التي يمكن للمستخدم تقديمها للمطور حول طبيعة العطل هي من خلال توفير
تنطوي عادة أدوات سطر الأوامر من خلال ADB، يعد Logcat بعيدًا عن متناول العديد من المستخدمين الذين لديهم خبرة قليلة أو معدومة في سطر الأوامر. ومع ذلك، فقد أدى إصدار بعض التطبيقات إلى إلغاء مشاركة أوامر ADB في استرداد وإرسال Logcat، أو على الأقل تقليلها بشكل كبير، مما يجعل القيام بذلك أمرًا سهلاً لا يتطلب سوى بضع نقرات على الشاشة. في مهمتنا التي لا تنتهي لمساعدة المطورين على التطوير، إليك دليل المبتدئين لتعليم المستخدمين كيفية إرسال Logcat.
ما هو Logcat وكيف يمكننا سحبه؟
Logcat هي أداة ADB Shell تُستخدم لسحب سجل بجميع أحداث النظام. يتضمن ذلك الأخطاء والتحذيرات وتتبعات المكدس وأحداث النظام العامة. عند حدوث خطأ، يتم إخراج المعلومات الأساسية التي تشير إلى مصدر الفشل من خلال هذا السجل، مما يجعله أداة مفيدة جدًا لاستكشاف الأخطاء وإصلاحها. عادةً، يتم سحبها وتصفيتها من خلال أوامر ADB. ومع ذلك، تطبيقات مثل aLogcat, سجل الكتالوج، والأداة التي نختارها لهذه المقالة، ماتلوج، وفرت على المستخدمين الجهد من خلال تجميع أدوات الأوامر هذه في واجهة المستخدم الرسومية لتطبيق قابل للتنزيل من متجر Play.
كما ذكرنا سابقًا، Matlog هو ما نستخدمه لجمع Logcats. تم اختيار Matlog لواجهة خالية من الرتوش وسهلة الاستخدام، وقد تم إنشاؤه بواسطة XDA Junior Member plusCubed وعلى أساس نولان لوسون كتالوج التطبيق مفتوح المصدر. مثل كاتلوج, يمكن أن يكون Matlog تم تجميعها من المصدر، أو تم تنزيله مجانًا من متجر Google Play. على الرغم من أن عملية الوصول إلى الجذر تسمح لك بتخطي خطوة أثناء الإعداد، الوصول إلى الجذر غير مطلوب لجمع Logcats. إذا لم يكن جهازك متجذرًا، فسيمنح أمر ADB shell التطبيق الوصول لقراءة سجلات جهازك. لم تقم بعد بإعداد ADB على جهازك؟ لا توجد مشكلة، فقط اتبع هذه الخطوات لتشغيله.
ملاحظة: قامت هواتف Huawei بتعطيل إخراج Logcat تمامًا. ستحتاج إلى تغيير الإعداد المخفي قبل المتابعة مع بقية هذا الدليل.
إعداد بنك التنمية الآسيوي
أولاً، قم بتنزيل ثنائي ADB مباشرة من Google لنظام التشغيل الخاص بك واستخرجه إلى دليل منفصل على جهاز الكمبيوتر الخاص بك. التالي، تثبيت برنامج التشغيل المناسب لهاتفك معين. ثم قم بتمكين "تصحيح أخطاء USB" في الإعدادات -> خيارات المطور. إذا كنت لا ترى خيارات المطور، فستحتاج إلى تمكينها من خلال الانتقال إلى الإعدادات -> حول الهاتف ثم النقر على رقم الإصدار 7 مرات. أخيرًا، تأكد من أن ADB يعمل عن طريق تشغيل موجه الأوامر في نفس الدليل مثل ثنائي ADB (انقر بزر الماوس الأيمن --> "فتح موجه الأوامر هنا") وقم بتشغيل الأمر التالي:
adb devices
إذا رأيت الرقم التسلسلي لجهازك (ولا يشير إلى أنه غير مصرح به)، فأنت محظوظ. إذا رأيت نافذة منبثقة على هاتفك تطلب منك منح حق الوصول إلى ADB لجهاز الكمبيوتر الخاص بك، فقل نعم. إذا لم يحدث أي من الأمرين، فحاول إعادة تشغيل الكمبيوتر/الهاتف وإعادة توصيله بالكمبيوتر. وإلا، حاول إعادة تثبيت برنامج التشغيل.
إعداد Matlog
الآن بعد أن قمت بتشغيل ADB (نأمل)، كل ما عليك القيام به لتمكين Matlog من القدرة على التقاط Logcats هو إصدار الأمر التالي في ADB Shell. مرة أخرى، إذا كان جهازك متجذرًا بالفعل، فلن تحتاج إلى تشغيل هذا الأمر لأن هذا ضروري فقط للهواتف التي لم يتم تجذيرها.
adbshellpmgrantcom.pluscubed.matlogandroid.permission.READ_LOGS
بمجرد تمكينه وفتحه، سيعرض Matlog أحداث النظام في الوقت الفعلي. يمكنك الضغط على زر الإيقاف المؤقت لإيقاف ذلك، ثم النقر على قائمة علامات الحذف واختيار "مسح" لتخليص الحقل من البيانات الدخيلة. يوصى بالقيام بذلك استعدادًا لتسجيل التطبيق المعطل من أجل تقليل حجم السجل. لتقصير الخطوات، وبالتالي طول السجل إلى أبعد من ذلك، أضف أداة Matlog إلى شاشتك الرئيسية بجوار التطبيق المتعطل المعني، كما هو موضح على اليمين. في هذه الحالة، APKtool X هو تطبيقنا المعطل.
يتيح لك النقر على الأداة تسمية السجل والبدء في تسجيله. بعد ذلك، ما عليك سوى إعادة إنتاج العطل مباشرة بعد بدء التسجيل، مما سيؤدي إلى ملء Logcat بالمعلومات ذات الصلة بمشكلتك. بمجرد ظهور المشكلة، ما عليك سوى النقر على الأداة مرة أخرى لإكمال تسجيل السجل.
عند القيام بذلك، سيتم فتح Matlog للسجل الذي تم التقاطه. انقر فوق علامات الحذف، وحدد "إرسال" لإرسال السجل بالبريد الإلكتروني كملف نصي مرفق مع معلومات الجهاز العامة. هذا كل شيء! لقد تم التقاط Logcat الخاص بك وإرساله بنجاح إلى البروفيسور أوك.
في المثال أعلاه، أستطيع أن أقول أن سبب تعطل Apktool X هو أن جهازي لم يتم الوصول إلى الجذر. دوه! ينبغي لي أن يكون كاملا اقرأ المقال قبل محاولة استخدام التطبيق.
كان ذلك سهلاً للغاية
وبطبيعة الحال، ليس من السهل التقاط كل القضايا. في بعض الأحيان، قد تتطلب مشكلات التعامل مع التشغيل، أو المشكلات التي تمتد لفترات زمنية أطول، ميزات مختلفة للتطبيق لالتقاطها. في مثل هذه الحالات، ستحتاج إلى السماح بتشغيل Matlog في الخلفية (لا تقم بإيقافه مؤقتًا أو مسحه) واستخدام وظائف مستوى السجل والتصفية لتحليل البيانات.
على الرغم من أنها ليست الطريقة الضرورية الوحيدة لجمع البيانات ذات الصلة، إلا أن بعض المواقف تتطلب ذلك مزيد من السياق - يمكن استخدام كل من هذه الأدوات في سجلات أطول لفرز البيانات وتحديدها مطور. وبطبيعة الحال، يعتمد هذا على طبيعة الخطأ وما يطلبه المطور. لاستخدام أي منهما، ما عليك سوى تشغيل Matlog، وإعادة إنتاج مشكلتك، والانتقال مرة أخرى إلى Matlog، والنقر على قائمة النقاط، وتحديد إحدى طريقتي الفرز هاتين.
تسجيل مستوى
أمر ADB آخر تم تبسيطه بواسطة Matlog، يمكن استخدام وظيفة Log Level لعرض أنواع معينة من أحداث النظام ورسائله. فيما يلي وصف مختصر لأنواع الرسائل المختلفة، كما هو موضح في موقع Android Developers ومرمز بالألوان ليتوافق مع تصنيف Matlog.
من الأدنى إلى الأعلى أولوية:
- الخامس: مطول (أحداث النظام العامة)
- د: التصحيح
- أنا: معلومة
- دبليو: تحذير
- ه: خطأ
- F: مميت
- S: صامت (الأولوية القصوى، التي لا تتم طباعة أي شيء عليها على الإطلاق)
تحتوي ميزة مستوى السجل على قائمة مقابلة بهذه الرسائل، والتي يمكنها تصفية السجل عند كل مستوى من مستويات الأولوية. سيؤدي تحديد مستوى السجل إلى إظهار الأحداث ذات مستوى الأولوية الخاص به والأعلى فقط، مما يسهل التعرف عليها وتجميعها بسهولة الأخطاء بدلاً من طلب التمرير يدويًا عبر العديد من أسطر النص - والتي قد تصل في بعض الأحيان إلى الآلاف - للقيام بها لذا.
المرشحات
يمكن أيضًا استخدام المرشحات لفرز بيانات السجل. من خلال بدء البحث عن كلمة رئيسية، يتم تمكين المستخدم من رؤية الرسائل التي تشير إلى هذه الكلمة الأساسية بشكل صريح فقط. قد تتضمن الكلمات الرئيسية المفيدة اسم التطبيق المعطل أو حتى كلمة "خطأ" لأنها تشمل أمثلة للمصطلح على جميع مستويات الأولوية، على الرغم من أنها لا تشمل جميع أخطاء "مستوى السجل".
إذا وجدت نفسك تقوم بالبحث/التصفية لكلمات رئيسية معينة كثيرًا عند مساعدة أحد المطورين على تصحيح أخطاء أحد التطبيقات (أو إذا كان قام المطور بشكل صريح بإنشاء حدث سجل فريد يمكنك البحث عنه)، ثم يمكنك أيضًا حفظ عامل تصفية يمكنك الرجوع إليه المستقبل. يعد هذا مفيدًا عندما تعرف مسبقًا ما تبحث عنه، والذي سيحدث كثيرًا إذا كنت تعمل جنبًا إلى جنب مع أحد المطورين.
هل أنت مستعد لتصحيح الأخطاء؟
بينما لا يجوز لك ذلك الآن إذا كنت خبيرًا في تصحيح أخطاء تطبيقات Android، فإن تعلم كيفية جمع وإرسال Logcats يمكن أن يجعلك مصدرًا رائعًا لمطوري تطبيقاتك المفضلة. إن استخدام Matlog، والميزات الموضحة أعلاه، وجمع وفرز وإرسال المعلومات ذات الصلة حول التطبيق المعطل لم يكن أسهل من أي وقت مضى.
هل استخدمت Matlog أو تطبيق Logcat آخر؟ هل وجدت هذا الدليل مفيدا؟ اسمحوا لنا أن نعرف في التعليقات أدناه!