מדריך: שליחת Logcat כדי לעזור באיתור באגים באפליקציה האהובה עליך

האם אי פעם האפליקציה האהובה עליך קרסה עליך פתאום? רוצה לעזור למפתח לנפות באגים במה שקרה? למד כיצד ללכוד ולסנן Logcats עם המדריך שלנו.

הקרואטים מניפים דגל של האיחוד האירופי בזמן שהם חוגגים את הצטרפותה של קרואטיה לאיחוד האירופי בכיכר באן ג'לסיץ' בזאגרב ב-30 ביוני 2013. עשרות אלפי קרואטים הריעו את כניסתה של המדינה לאיחוד האירופי בחצות יום ראשון (2200 GMT), כמעט שני עשורים לאחר סיום מלחמת העצמאות העקובת מדם של הרפובליקה היוגוסלבית לשעבר. AFP PHOTO / STRINGER

זה קרה לכולנו בשלב זה או אחר. אין בושה להודות בזה. לפעמים, אפליקציות אנדרואיד קורסות. בין אם אתה משתמש במכשיר מלא להפעלת מפות Google או ROM מותאם אישית עם מודול Xposed לשפר את Google Hangouts, קריסות יישומים ובעיות אחרות עלולות להתרחש ואף להפוך למכשול למדי. זה נכון במיוחד בפיתוח של שינויים ויישומים בקנה מידה קטן יותר, כמו רבים שנמצאים באתר האינטרנט שלנו. כאשר מתעוררות בעיות, אחת התובנות הבונות והמועילות ביותר שהמשתמש יכול להעניק למפתח לגבי אופי הקריסה היא באמצעות אספקת Logcat. למרות שזה מאוד מועיל למפתחים, השגת מידע זה עשויה להיראות מרתיעה במקצת עבור משתמש רגיל.

בדרך כלל מעורב כלי שורת פקודה דרך ADB, ה-Logcat נמצא מחוץ להישג ידם של משתמשים רבים שיש להם ניסיון מועט עד לא עם שורת הפקודה. עם זאת, שחרור אפליקציות מסוימות ביטלה, או לפחות הפחיתה מאוד, את המעורבות של פקודות ADB באחזור ושליחת Logcat, מה שהופך את זה לקלה כמו כמה הקשות על מסך. במשימה הבלתי נגמרת שלנו לסייע בפיתוח למפתחים, הנה מדריך למתחילים שילמד משתמשים כיצד לשלוח Logcat.


מהו Logcat וכיצד אנו מושכים אחד?

Logcat הוא כלי ADB Shell המשמש למשיכת יומן של כל אירועי המערכת. זה כולל שגיאות, אזהרות, עקבות מחסנית והתרחשויות כלליות במערכת. כאשר מתרחשת שגיאה, מידע מפתח המצביע על מקור הכשל מופק דרך יומן זה, מה שהופך אותו לכלי שימושי מאוד לפתרון בעיות. בדרך כלל, אלה נשלפים ומסננים באמצעות פקודות ADB. עם זאת, אפליקציות כגון aLogcat, קטלוג, וכלי הבחירה שלנו עבור מאמר זה, מטלוג, חסכו למשתמשים את המאמץ על ידי הידור של כלי הפקודה הללו לתוך ממשק המשתמש של אפליקציה להורדה ב-Play-Store.

כאמור, Matlog הוא מה שאנו משתמשים בו לאיסוף Logcats. Matlog, שנבחרה בשל הממשק הפשוט, אך ידידותי למשתמש, נעשה על ידי XDA Junior Member plusCubed ומבוסס על של נולן לוסון אפליקציית קוד פתוח Catlog. כמו Catlog, Matlog יכול להיות הידור ממקור, או הורדה בחינם מחנות Google Play. למרות שהשורש מאפשר לך לדלג על שלב במהלך ההגדרה, גישת שורש אינה נדרשת כדי לאסוף Logcats. אם המכשיר שלך אינו מושרש, פקודת מעטפת ADB אחת תעניק לאפליקציה גישה לקריאת יומני המכשיר שלך. עדיין לא הגדרת את ADB במחשב שלך? אין בעיה, פשוט בצע את השלבים הבאים כדי להפעיל אותו.

הערה: בטלפונים של Huawei השביתו לחלוטין את פלט Logcat. יהיה עליך לשנות הגדרה נסתרת לפני שתמשיך עם שאר המדריך הזה.


הגדרת ADB

ראשון, הורד את ה-ADB הבינארי הישר מגוגל עבור מערכת ההפעלה הספציפית שלך וחלץ אותה לספרייה נפרדת במחשב שלך. הַבָּא, להתקין את הדרייבר המתאים עבור הטלפון הספציפי שלך. לאחר מכן, הפעל את "ניפוי באגים באמצעות USB" בהגדרות --> אפשרויות מפתחים. אם אינך רואה אפשרויות מפתחים, תצטרך להפעיל את זה על ידי מעבר להגדרות --> אודות טלפון ולאחר מכן הקשה על מספר Build 7 פעמים. לבסוף, ודא ש-ADB עובד על-ידי הפעלת שורת פקודה באותה ספרייה כמו ה-ADB הבינארי (לחץ באמצעות לחצן העכבר הימני --> "פתח את שורת הפקודה כאן") והפעל את הפקודה הבאה:

adb devices

אם אתה רואה את המספר הסידורי של המכשיר שלך (ולא כתוב בו לא מורשה), אתה זהוב. אם אתה רואה חלון קופץ בטלפון שלך המבקש ממך להעניק למחשב שלך גישת ADB, אז אמור כן. אם אינך רואה אף אחד מהם קורה, נסה לאתחל את המחשב/טלפון שלך ולחבר אותו מחדש למחשב שלך. אחרת, נסה להתקין מחדש את הדרייבר.


הגדרת Matlog

כעת, לאחר שהפעלת את ADB (בתקווה), כל מה שאתה צריך לעשות כדי לאפשר ל-Matlog את היכולת ללכוד Logcats הוא להוציא את הפקודה הבאה במעטפת ADB. שוב, אם המכשיר שלך כבר מושרש, אינך צריך להפעיל פקודה זו מכיוון שהיא נחוצה רק עבור טלפונים לא מושרשים.

adbshellpmgrantcom.pluscubed.matlogandroid.permission.READ_LOGS
ווידג'ט הקלטת Matlog לצד האפליקציה התקלה

לאחר הפעלה ופתיחה, Matlog תציג אירועי מערכת בזמן אמת. אתה יכול להקיש על לחצן ההשהיה כדי לעצור זאת, ואז להקיש על תפריט האליפסים ולבחור "נקה" כדי להיפטר מהשדה מנתונים זרים. מומלץ לעשות זאת כהכנה לרישום האפליקציה התקלה על מנת לצמצם את גודל היומן. כדי לקצר את השלבים, ולפיכך את אורך היומן עוד יותר, הוסף את הווידג'ט Matlog למסך הבית שלך ליד האפליקציה הקורסת המדוברת, כפי שמוצג מימין. ברגע זה, Apktool X היא האפליקציה התקלה שלנו.

הקשה על הווידג'ט מאפשרת לתת שם ולהתחיל להקליט יומן. לאחר מכן, פשוט שחזר את התקלה מיד לאחר התחלת הרישום, מה שימלא את ה-Logcat במידע רלוונטי לבעיה שלך. לאחר שחזור הבעיה, פשוט הקש שוב על הווידג'ט כדי להשלים את הקלטת היומן.

לאחר שתעשה זאת, Matlog ייפתח ליומן שנלכד. הקש על האליפסים ובחר "שלח" כדי לשלוח את היומן בדוא"ל כקובץ טקסט מצורף יחד עם מידע כללי על המכשיר. זהו זה! Logcat שלך נלכד ונשלח בהצלחה לפרופסור אוק.

בדוגמה שלי למעלה, אני יכול להגיד שהסיבה ש- Apktool X קרס היא בגלל שהמכשיר שלי לא מושרש. דו! הייתי צריך לגמרי קרא את המאמר לפני שתנסה להשתמש באפליקציה.

זה היה קל מדי

כמובן, לא כל כך קל לתפוס את כל הנושאים. לפעמים בעיות העוסקות באתחול, או בעיות שמתפרשות על פני תקופות זמן ארוכות יותר עשויות לדרוש תכונות שונות של האפליקציה כדי ללכוד. במקרים כאלה, תרצה לתת ל-Matlog לפעול ברקע (אל תשהה או נקה אותו) ולהשתמש בפונקציות Log Level ו- Filter כדי לנתח נתונים.

למרות שבדרך כלל לא השיטה הנחוצה היחידה לאיסוף נתונים רלוונטיים - מצבים מסוימים דורשים יותר הקשר - ניתן להשתמש בכל אחד מהכלים הללו ביומנים ארוכים יותר כדי למיין ולציין נתונים עבור מפתח. מטבע הדברים, זה תלוי באופי השגיאה ובמה שהמפתח מבקש. כדי להשתמש באחד מאלה, פשוט הפעל את Matlog, שחזר את הבעיה שלך, נווט חזרה אל Matlog, הקש על תפריט הנקודות ובחר באחת משתי שיטות המיון הללו.

בחירת רמת יומן מציגה שגיאות בלבד

רמת יומן

פקודת ADB נוספת שפושטת על ידי Matlog, הפונקציה Log Level יכולה לשמש כדי להציג סוגים ספציפיים של אירועים והודעות מערכת. להלן תיאור קצר של סוגי ההודעות השונים, כפי שמתוארים על ידי אתר המפתחים של אנדרואיד ומקודדים בצבע כדי להתאים לתיוג של Matlog.

מהעדיפות הנמוכה ביותר עד הגבוהה ביותר:

  • V: מילולית (אירועי מערכת כלליים)
  • ד: לנפות
  • אני: מידע
  • W: אזהרה
  • ה: שגיאה
  • ו: קטלני
  • S: שקט (עדיפות גבוהה ביותר, ששום דבר לא מודפס עליו)

התכונה רמת יומן כוללת רשימה מתאימה של הודעות אלה, שיכולה לסנן את היומן בכל רמת עדיפות. בחירת רמת יומן תציג רק אירועים ברמת עדיפות משלה ומעלה, מה שמקל על זיהוי וקיבוץ של שגיאות במקום לדרוש גלילה ידנית בין שורות טקסט רבות - שלעיתים עשויות להיות באלפים - לעשות כך.

ערכת מסנן חיפוש עבור "Apktool"

מסננים

ניתן גם להשתמש במסננים כדי למיין נתוני יומן. על ידי התחלת חיפוש מילות מפתח, המשתמש יכול לראות רק הודעות המתייחסות למילת מפתח זו במפורש. מילות מפתח שימושיות עשויות לכלול את השם של האפליקציה התקלה או אפילו את המילה "שגיאה" מכיוון שהיא מקיפה מופעים של המונח בכל רמות העדיפות, למרות שזה לא להקיף את כל השגיאות "רמת יומן".

אם אתה מוצא את עצמך מחפש/מסנן הרבה מילות מפתח מסוימות כשאתה עוזר למפתח לנפות באגים באפליקציה (או אם המפתח יצר במפורש אירוע יומן ייחודי שאתה יכול לחפש), ואז אתה יכול גם לשמור מסנן שאתה יכול לחזור אליו ב העתיד. זה שימושי כאשר אתה יודע מראש מה אתה מחפש, מה שאם אתה עובד בשיתוף עם מפתח, יקרה לעתים קרובות למדי.

מוכן לנפות באגים?

למרות שאולי לא עַכשָׁיו היה מומחה בניפוי באגים באפליקציות אנדרואיד, ללמוד כיצד לאסוף ולשלוח Logcats יכול להפוך אותך למשאב נהדר עבור מפתחי האפליקציות המועדפות עליך. השימוש ב-Matlog, והתכונות שלהן המפורטות לעיל, איסוף, מיון ושליחת מידע רלוונטי על אפליקציה לא תקינה מעולם לא היה קל יותר.


האם השתמשת ב- Matlog או באפליקציית Logcat אחרת? האם מצאתם את המדריך הזה מועיל? ספר לנו בתגובות למטה!