ניפוי באגים מרחוק במכשירי Android

Sofia Emelianova
Sofia Emelianova

ניפוי באגים מרחוק בתוכן בשידור חי במכשיר Android ממחשב עם Windows,‏ Mac או Linux. במדריך הזה תלמדו איך:

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

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

שלב 1: איתור מכשיר Android

תהליך העבודה הבא מתאים לרוב המשתמשים. מידע נוסף זמין במאמר פתרון בעיות: DevTools לא מזהה את מכשיר Android.

  1. פותחים את המסך אפשרויות למפתחים ב-Android. הגדרת האפשרויות למפתחים במכשיר
  2. בוחרים באפשרות הפעלת ניפוי באגים ב-USB.
  3. פותחים את Chrome במכונה לפתחים.
  4. לעבור אל chrome://inspect#devices.
  5. מוודאים שהאפשרות תיבת סימון. גילוי התקני USB מופעלת.

    תיבת הסימון 'זיהוי מכשירים ב-USB' מופעלת.

  6. מחברים את מכשיר Android ישירות למכונת הפיתוח באמצעות כבל USB.

  7. אם אתם מחברים את המכשיר בפעם הראשונה, הוא יופיע כ'לא מחובר' ובתהליך אימות.

    מכשיר אופליין בהמתנה לאימות.

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

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

    מכשיר שמחובר בהצלחה ומשויך לשם דגם.

  9. ממשיכים אל שלב 2.

פתרון בעיות: DevTools לא מזהה את מכשיר Android

מוודאים שהחומרה מוגדרת בצורה נכונה:

  • אם אתם משתמשים במפצל USB, נסו לחבר את מכשיר Android ישירות למכונת הפיתוח במקום זאת.
  • נסו לנתק את כבל ה-USB שמחבר את מכשיר Android למכונה לפיתוח, ואז לחבר אותו שוב. צריך לעשות זאת כשמסכי Android ומכונת הפיתוח לא נעולים.
  • מוודאים שכבל ה-USB פועל. אמורה להיות לכם אפשרות לבדוק קבצים במכשיר Android ממכונה לפיתוח.

מוודאים שהתוכנה מוגדרת בצורה נכונה:

אם ההודעה לאפשר ניפוי באגים ב-USB לא מופיעה במכשיר Android, אפשר לנסות:

  • ניתוק של כבל ה-USB וחיבור מחדש שלו כשהתצוגה של DevTools במכונה לפיתוח מוגדרת כמרכזית, ומסך הבית של Android מוצג. במילים אחרות, לפעמים ההנחיה לא מופיעה כשמסכי Android או מכונות הפיתוח נעולים.
  • עדכון הגדרות התצוגה של מכשיר Android ומכונת הפיתוח, כך שהן אף פעם לא ייכנסו למצב שינה.
  • הגדרת מצב ה-USB של Android ל-PTP. עיינו במאמר לא מוצגת תיבת הדו-שיח 'אישור ניפוי באגים ב-USB' ב-Galaxy S4.
  • בוחרים באפשרות ביטול ההרשאות לניפוי באגים ב-USB במסך אפשרויות הפיתוח במכשיר Android כדי לאפס אותו למצב חדש.

אם מצאתם פתרון שלא מוזכר בקטע הזה או במאמר Chrome DevTools Devices does not detect device when plugged in, תוכלו להוסיף תשובה לשאלה הזו ב-Stack Overflow או לפתוח בעיה במאגר developer.chrome.com.

שלב 2: ניפוי באגים בתוכן במכשיר Android מהמכונה לפיתוח

  1. פותחים את Chrome במכשיר Android.
  2. ב-chrome://inspect/#devices במכונת הפיתוח, יופיע שם הדגם של מכשיר Android, ואחריו המספר הסידורי שלו. מתחת לזה תוצג גרסת Chrome שפועלת במכשיר, עם מספר הגרסה בסוגריים.

    גרסת Chrome שפועלת במכשיר.

  3. בתיבת הטקסט Open tab with url (פתיחת כרטיסייה עם כתובת URL), מזינים כתובת URL ולוחצים על Open (פתיחה). הדף נפתח בכרטיסייה חדשה במכשיר Android.

    כרטיסייה מרוחקת שמופיעה בקטע.

    לכל כרטיסייה מרוחקת ב-Chrome יש קטע משלה ב-chrome://inspect/#devices. בקטע הזה אפשר לבצע פעולות בכרטיסייה הזו. אם יש אפליקציות שמשתמשות ב-WebView, יופיע גם קטע לכל אחת מהן. בדוגמה הזו, יש רק כרטיסייה אחת פתוחה.

  4. לוחצים על בדיקה לצד כתובת ה-URL שפתחתם. ייפתח מכונה חדשה של DevTools.

מכונה חדשה של DevTools לכרטיסייה המרוחקת.

גרסת Chrome שפועלת במכשיר Android קובעת את גרסת DevTools שתיפתח במכונה לפיתוח. לכן, אם במכשיר Android שלכם מותקנת גרסה ישנה מאוד של Chrome, ייתכן שהממשק של כלי הפיתוח יראה שונה מאוד ממה שאתם רגילים אליו.

פעולות נוספות: השהיה, התמקדות, טעינת מחדש או סגירה של כרטיסייה

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

התפריט להשהיה, לטעינה מחדש, להתמקדות או לסגירה של כרטיסייה.

בדיקת רכיבים

עוברים לחלונית Elements במכונה של DevTools ומעבירים את העכבר מעל רכיב כדי להדגיש אותו בחלון התצוגה של מכשיר Android.

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

איך מבצעים הקלטת מסך של מכשיר Android במכונה לפיתוח

לוחצים על Toggle Screencast החלפת מצב של הקלטת מסך כדי להציג את התוכן של מכשיר Android במכונה של DevTools.

יש כמה דרכים ליצור אינטראקציה עם סרטון הסרטון:

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

כמה הערות לגבי סרטוני מסך:

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

ניפוי באגים באופן ידני באמצעות Android Debug Bridge‏ (adb)

במקרים נדירים, שימוש בשיטה חלופית לניפוי באגים מרחוק עשוי להיות שימושי. לדוגמה, יכול להיות שתרצו להתחבר ישירות לפרוטוקול של כלי הפיתוח של Chrome (CDP) ב-Chrome ל-Android.

כדי לעשות זאת, אפשר להשתמש בממשק הגישור של Android‏ (adb):

  1. חשוב להפעיל את האפשרויות למפתחים ואת ניפוי הבאגים ב-USB במכשיר Android.
  2. פותחים את Chrome במכשיר Android.
  3. מחברים את מכשיר Android למכונת הפיתוח באמצעות:

  4. בשורת הפקודה של מכונת הפיתוח, מריצים את הפקודה adb devices -l ובודקים אם המכשיר מופיע ברשימה.

  5. מעבירים את שקע ה-CDP במכשיר ליציאה המקומית של המכונה, למשל 9222. כדי לעשות זאת, מריצים את הפקודה:

    adb forward tcp:9222 localabstract:chrome_devtools_remote
    
  6. אחרי שהחיבור הצליח, צריך לוודא:

    • http://localhost:9222/json מציג את היעדים של page.
    • http://localhost:9222/json/version חושף את נקודת הקצה היעד browser, כפי שמתואר במסמכי התיעוד של CDP.
    • השדה chrome://inspect/#devices מאוכלס, גם אם ההגדרה זיהוי התקני USB לא מסומנת.

מידע על פתרון בעיות זמין במאמרים הבאים: