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

Kayce Basques
Kayce Basques
Sofia Emelianova
Sofia Emelianova

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

אם מצאתם פתרון שלא מוזכר בקטע הזה או במאמר כלי פיתוח ל-Chrome: מכשירים לא מזהים מכשיר כשהוא מחובר, אתם מוזמנים להוסיף תשובה לשאלה הזו ב-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 שפתחתם, לוחצים על בדיקה. מופע חדש של כלי הפיתוח ייפתח.

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

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

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

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

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

בדיקת רכיבים

עוברים לחלונית Elements (רכיבים) במופע של כלי הפיתוח, ומעבירים את העכבר מעל רכיב כדי להדגיש אותו באזור התצוגה של מכשיר Android.

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

הקלטת מסך של Android למחשב הפיתוח

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

יש כמה דרכים לבצע פעולות עם צילום המסך:

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

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

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

ניפוי באגים באופן ידני באמצעות ממשק הגישור של Android‏ (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.

לפתרון בעיות, אפשר לעיין במאמרים הבאים: