Android Studio למתחילים, חלק 4: כלי ניפוי באגים ותוספי פרודוקטיביות

עודכן: ינואר 2020.

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

מאמר זה מציג את הכלים הבאים עבור Android Studio:

כלי איתור באגים מובנה

  • לוגקט
  • לנפות
  • מוֹך

תוספים לייצור המפתחים

  • רעיון ADB
  • קודוטה
  • תוסף לומבוק

מה חדש ב- Android Studio 3.5

גלה מה לחפש בגירסה האחרונה של Android Studio, כולל תמיכה בקוטלין ושיפורים בניהול זיכרון ותגובת ממשק המשתמש.

רישום וניתוח באגים לאפליקציות אנדרואיד

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

רישום אנדרואיד: Logcat

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

Logcat הוא כלי שורת פקודה (משולב ב- Android Debug Bridge - ADB) שזורק יומן של הודעות מערכת שיכולות לעזור לך למצוא ולתקן בעיות בקוד שלך. ההודעות כוללות עקבות מחסנית למועד שבו המכשיר משליך שגיאה והודעות יומן שהטמעת בכוונה android.util.Logבכיתה. Logcat כל כך שימושי שהוא שולב ישירות ב- Android Studio, שם תוכלו לגשת אליו מתפריט View או מסרגל חלונות הכלים.

ג'ף פריזן

Logcat החלון מחולק שורה אופקית של ברשימות נפתחות ופקדים אחרים ואחריו אזור הודעה. משמאל לימין, הפקדים הם:

  • רשימה נפתחת המזהה מכשירים ומחוברים מחוברים. (ראה איור 1.)
  • רשימה נפתחת המזהה חבילות APK מותקנות במכשיר שנבחר.
  • רשימה נפתחת של רמות כניסה:
    • מילולית: הראה את כל ההודעות.
    • ניפוי באגים: הצג הודעות יומן איתור באגים שימושיות במהלך הפיתוח, כמו גם את רמות ההודעות הנמוכות ברשימה הנפתחת.
    • מידע: הצגת הודעות יומן צפויות לשימוש קבוע, כמו גם את רמות ההודעות הנמוכות ברשימה הנפתחת.
    • אזהרה: הראה בעיות אפשריות שעדיין אינן שגיאות, כמו גם את רמות ההודעות הנמוכות יותר ברשימה הנפתחת.
    • שגיאה: הצג בעיות שגרמו לשגיאות - חריגים שהושלכו, כמו גם את רמת ההודעה Assert.
    • טען: הראה בעיות שהיזם מצפה שלעולם לא צריכות להתרחש.
  • סרגל חיפוש שבו ההודעות היחידות שמופיעות הן אלה המכילות את הטקסט שאתה מקליד בפקד זה.
  • תיבת סימון המאפשרת לך להשתמש בביטויים רגולריים בסרגל החיפוש. לדוגמה, בהקשר של איור 1, אתה יכול לציין את SystemClock | AlarmManager (כלומר, ההודעה חייבת להכיל שתי מילים).
  • רשימה נפתחת לסינון הודעות, כולל האפשרויות הבאות:
    • אין מסננים (ברירת המחדל) גורמת לכל ההודעות עבור המכשיר שנבחר להופיע, ללא קשר לחבילת ה- APK שנבחרה.
    • הצג רק יישום שנבחר מציג רק את ההודעות עבור חבילת ה- APK שנבחרה במכשיר שנבחר, והן ברמת יומן המתאימה או נמוכה יותר.
    • ערוך תצורת מסנן מאפשר לך ליצור מסנן מותאם אישית.

בקוד המקור ניתן להוסיף שיחות android.util.Logלשיטות שונות לרישום הודעות. לדוגמה, ייתכן שתתקשר public static int i(String tag, String msg)כדי להיכנס INFOלהודעה ברמה או public static int w(String tag, String msg)להיכנס WARNלהודעה ברמה.

בשתי השיטות, המחרוזת שהועברה אליה tagמזהה את מקור ההודעה (למשל, השיטה בה נקראה שיטת רישום זו), והמחרוזת שהועברה msgלזיהוי ההודעה שנרשמה.

לחלופין, אתה יכול להתקשר System.outוה System.err's print()ו println()שיטות. קריאות System.outלשיטות משיגות את אותו הדבר כמו log.i()שיחות; שיחות System.errלשיטות משיגות את אותו הדבר כמו log.w()שיחות.

ג'ף פריזן

באיור 2, ההודעות היחידות המוצגות הן עבור תהליך האפליקציה לדוגמא הפועל במכשיר ה- Nexus 5X המדומה. יתר על כן, הודעות אלה חייבות להכיל onCreateולהתקבל על ידי מסנן היישומים שנבחר בלבד .

עוד על Logcat

עיין ב"כתיבה והצגה של יומנים עם Logcat "של גוגל למידע נוסף על Logcat. למד גם את android.util.Logתיעוד הכיתה.

ניפוי באגים באנדרואיד: ניפוי באגים

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

  • בחר מכשיר שעליו ניתן לנקות באגים באפליקציה שלך.
  • הגדר נקודות עצירה בקוד היישום שלך (Java, Kotlin או C / C ++).
  • בחן משתנים והעריך ביטויים בזמן הריצה.

יש כמה תנאים מוקדמים לפני השימוש בכלי ניפוי באגים זה:

  1. אם האפליקציה שלך כוללת קוד מקור C / C ++, יהיה עליך להתקין את LLDB ממנהל ה- SDK (ראה איור 3). למרבה המזל, האפליקציה לדוגמה עבור סדרה זו ( W2A ) אינה מכילה קוד C / C ++, כך שנוכל להתעלם מתנאי זה.

    ג'ף פריזן

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

בואו נעבור פגישת ניפוי באגים מהירה.

איתור באגים פשוט באנדרואיד

בהנחה שאתה מפעיל את Android Studio כשחלון העורך של אפליקציית הדוגמה ( W2A.java ) פתוח, הצעד הראשון שלך הוא להגדיר נקודת שבירה על public void onCreate(Bundle savedInstanceState)הקו. הגדר את נקודת השבר על ידי הדגשת קו זה ובצע אחת מהפעולות הבאות:

  • לחץ על אזור המרזב שמשמאל לקו; הקו צריך להיות ורוד בתגובה.
  • בחר Toggle הקו Breakpoint מן Run בתפריט.
  • לחץ על Ctrl ו- F8 בו זמנית.

כעת בחר "אפליקציה" Debug מן Run התפריט, או לחץ על הסמל המתאים בסרגל הכלים. אם האמולטור אינו פועל, תצפה בתיבת הדו-שיח בחר יעד פריסה . בחרתי ב- Nexus 5X API 15 ולחצתי על OK .

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

ג'ף פריזן

Debug החלון מספק סמלים עבור רומסים, לתוך ומתוך שיטה, ועוד. איור 5 מראה מה קורה כשאנחנו עוברים על שיטה.

ג'ף פריזן

לחץ על הסמל המתאים ובחר שלב במהלך מן Run התפריט, או לחץ על F8 . זה מאפשר לנו להמשיך עמוק יותר onCreate()בשיטה תוך מעבר על כל קריאת שיטה.

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

ג'ף פריזן

מידע נוסף על ניפוי באגים

בדוק את "באגים באפליקציה שלך" של גוגל למידע נוסף על ניפוי באגים ב- Android Studio; למשל, כיצד להשתמש בנקודות הפסקה מסוגים שונים.

ניפוי באגים באמצעות GAPID

אמנם לא מכוסה כאן, אבל אני ממליץ לבדוק את GAPID: Debugger API של הגרפיקה, אוסף של כלי ניפוי באגים המאפשרים לך לבדוק, לשנות ולשחק שיחות מאפליקציית Android למנהל התקן גרפי.

בדיקת קוד עם מוך

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

מוך הוא מוך מובנה ל- Android SDK. תוכל להשתמש בו כדי לאתר בעיות כגון אלמנטים שהוצאו משימוש ושיחות API שאינן נתמכות על ידי ה- API היעד שלך.

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

ג'ף פריזן

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

ג'ף פריזן

נאמן לאופיו, מוך בחר כמה פיסות מוך שעלולות לעמוס את קוד היישום. לאחר הבחנה, קל לתקן את שלוש אזהרות הג'אווה המוצגות באיור 8: פשוט הצהיר androidAnimationprivateוהסר את ההטלות משתי findViewById()שיחות השיטה.

עוד על מוך

בדוק את "שפר את הקוד שלך באמצעות בדיקות מוך" כדי ללמוד עוד על השימוש ב- Lint ב- Android Studio, וכדי ללמוד על כלי ה- Lint העצמאי של Android SDK.

התקנה ושימוש בתוספי Android Studio

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

  • רעיון ADB
  • קודוטה
  • תוסף לומבוק

מנהל התוספים של Android Studio

מנהל התוספים של Android Studio מקל מאוד על איתור והתקנת תוספים. הפעל את מנהל התוספים על ידי בחירת קובץ > הגדרות ואחריו תוספים מתיבת הדו-שיח הגדרות :

ג'ף פריזן

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

ג'ף פריזן

הגבירו את התפוקה שלכם באנדרואיד

קיצורי דרך לקוד: רעיון ADB

ADB Idea מאיץ את הפיתוח השוטף של Android על ידי מתן גישה מהירה לפקודות ADB נפוצות, כגון הפעלה והתקנה של אפליקציה.

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

ג'ף פריזן

לאחר ההתקנה, Android Studio מאפשר לך לגשת לרעיון ADB מתפריט הכלים שלו . בחר כלים> רעיון ADB ובחר את הפקודה המתאימה מהתפריט הנפתח.

ג'ף פריזן

לאחר שבחרתי ב- ADB Restart App , הבחנתי בהודעות הבאות בחלון יומן האירועים וכן באפליקציה שהופעלה מחדש במכשיר ה- Amazon Kindle שלי.

ג'ף פריזן

מצא קוד שמיש: קודוטה

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

ג'ף פריזן

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

לאחר ההפעלה מחדש, תיתקל בתיבת הדו-שיח אימות קודוטה . לחץ על הקישור ופעל לפי ההוראות לקבלת האסימון. לאחר מכן, הדבק את האסימון בתיבת הדו-שיח הנ"ל ולחץ על Go .

ג'ף פריזן

Android Studio מאפשר לך לגשת לקודוטה על ידי לחיצה ימנית על קוד Java בחלון העורך ובחירת פריט התפריט קבל דוגמאות רלוונטיות , כפי שמוצג באיור 16.

ג'ף פריזן

לחיצה על פריט בתפריט זה מביאה לדפדפן להציג דף עם דוגמאות קוד רלוונטיות. לדוגמה, העמוד הבא מציג דוגמאות הרלוונטיות ל findViewById:

ג'ף פריזן

הפק קוד Java באופן אוטומטי: Lombok

Project Lombok מציע קבוצה של הערות בהן תוכלו להשתמש במקום קוד הדוד ובכך חוסכת לכם זמן בכתיבת קוד זה ביד.

ג'ף פריזן

בחר תוסף Lombok ברשימת המאגרים של התוספים, ואז לחץ על התקן . לאחר Android Studio להוריד ולהתקין את התוסף, הוא יבקש ממך להפעיל מחדש את Android Studio . הפעלה מחדש מפעילה את תוסף Lombok.