ניפוי באגים באמצעות אפליקציית WebView DevTools

אפליקציית WebView DevTools היא כלי עזר במכשיר לניהול ולניפוי באגים של רכיב המערכת WebView עצמו. הוא נפרד מכלי הפיתוח של Chrome, שפועלים במחשב הפיתוח ומאפשרים לכם לבצע ניפוי באגים מרחוק בתוכן האינטרנט הפעיל (HTML,‏ CSS ו-JavaScript) שפועל במופע של WebView.

‫WebView DevTools היא אפליקציה נלווית שמותקנת אוטומטית במכשיר שלכם יחד עם רכיב המערכת WebView. האפליקציה מחולקת לארבעה אזורים:

  • דף הבית: הצגת פרטי הגרסה ומעבר מ-WebView שמוגדר כברירת מחדל לגרסה של ערוץ טרום-הפצה.
  • קריסות: רשימה והעלאה של דוחות קריסה של WebView.
  • דגלים: הגדרת דגלי מפתחים כדי לשנות את ההתנהגות של WebView.
  • יומני רשת: רשימה ושיתוף של יומני רשת ברמה נמוכה של WebView.

הפעלת כלי הפיתוח של WebView

במכשירים עם Android מגרסה 16 ואילך שבהם מופעל מצב פיתוח, אפשר להפעיל את WebView DevTools על ידי ניווט אל הגדרות > מערכת > אפשרויות למפתחים > WebView DevTools.

בכל הגרסאות האחרונות של Android, אפשר להפעיל את כלי הפיתוח של WebView באמצעות פקודת adb:

adb shell am start -a "com.android.webview.SHOW_DEV_UI"

לחלופין, אם מתקינים ערוץ לפני ההפצה של WebView, כמו בטא, ‏ Dev או Canary, אפשר להשתמש בסמל של כלי הפיתוח של WebView.

סמל מרכז האפליקציות של כלי הפיתוח ל-WebView.
איור 1. סמל של כלי הפיתוח של WebView לאפליקציה שמותקנת במכשיר.

בפעם הראשונה שמריצים את WebView DevTools, המערכת תבקש הרשאת גישה להתראות כדי להציג התראה קבועה עם רשימה של דגלי הפיתוח שהפעלתם.

מעבר לערוץ טרום-הפצה

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

  1. מתקינים את גרסת הבטא, הפיתוח או ה-Canary של WebView, בהתאם להעדפות שלכם לגבי האיזון בין יציבות לבין גישה לשינויים האחרונים.
  2. פותחים את אפליקציית כלי הפיתוח של WebView ומקישים על שינוי הספק.
  3. אם האפשרות הזו לא מוצגת, מקישים על סמל שלוש הנקודות בפינה השמאלית העליונה ובוחרים באפשרות שינוי ספק WebView.

מידע נוסף זמין במאמר איך מנסים את גרסת הבטא, גרסת הפיתוח או גרסת Canary של WebView.

ערוצי WebView

ערוצי WebView מבוססים על ערוצי ההפצה של Chrome. כל ערוץ מייצג רמה שונה של יציבות ועדכניות של הקוד. ריכזנו כאן הסבר קצר על מתי כדאי להשתמש בכל אחד מערוצי WebView:

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

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

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

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

ממשק משתמש של קריסה

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

  1. אחרי שהאפליקציה קורסת, מפעילים אותה מחדש כדי לוודא שדוח הקריסה נוצר.
  2. פותחים את אפליקציית כלי הפיתוח של WebView ומקישים על קריסות.

מידע נוסף זמין במסמכי התיעוד בנושא ממשק משתמש לקריסה.

ממשק המשתמש של סימון

אפליקציית WebView DevTools מאפשרת להגדיר כמה דגלים שימושיים כדי לשנות את ההתנהגות של כל רכיבי ה-WebView במכשיר. רוב הדגלים משמשים רק לפיתוח של WebView עצמו, אבל יש כמה דגלים שימושיים למפתחי אפליקציות ל-Android.

  • highlight-all-webviews: זיהוי של רכיבי WebView על ידי הוספת גוון צהוב מעליהם.
  • net-log: הפעלת רישום ביומן ברמה נמוכה של פעילות רשת WebView.
  • webview-log-js-console-messages: הצגת יומני קונסולת JavaScript ב-Logcat.
אפליקציית כלי הפיתוח ל-WebView שבה מוצג ממשק המשתמש של Flags.
איור 2. ממשק המשתמש של Flags באפליקציית WebView DevTools.

מידע נוסף מופיע במאמרי העזרה בנושא ממשק המשתמש של הדגלים.

יומני רשת

אם אתם לא מצליחים לפתור בעיות בחיבור לשרת ב-WebView באמצעות כלי הפיתוח ל-Chrome, אתם יכולים להשתמש בכלי הפיתוח ל-WebView כדי לתעד יומני רשת ברמה נמוכה.

  1. מפעילים ניפוי באגים של WebView בקוד האפליקציה.
  2. ב-WebView DevTools, פותחים את Flags, מחפשים את net-log ומפעילים אותו. מפעילים מחדש את האפליקציה כדי שהדגל ייכנס לתוקף.
  3. מבצעים פעולות שמפעילות את התנהגות הרשת שרוצים לנפות בה באגים. אחרי שמשחזרים את הבעיה, סוגרים את האפליקציה.
  4. פותחים את הקטע Net Logs (יומני רשת) בכלי הפיתוח של WebView כדי לאתר ולשתף את קובץ יומן הרשת.
  5. אפשר לטעון את קובץ היומן בפורמט JSON אל Netlog Viewer, כלי אונליין להצגת יומני רשת, כדי לבדוק את אירועי הרשת ברמה הנמוכה, את פרטי השקע ואת פרטי התזמון.

מידע נוסף זמין במאמר ניפוי באגים ברשת ב-WebView.