הפעלת אפליקציות במכשירי חומרה

תמיד כדאי לבדוק את אפליקציית Android במכשיר אמיתי לפני שמפיצים אותה למשתמשים. בדף הזה מוסבר איך להגדיר את סביבת הפיתוח ואת מכשיר Android לצורך בדיקה וניפוי באגים דרך חיבור של Android Debug Bridge‏ (ADB).

הגדרת מכשיר לפיתוח

לפני שמתחילים בניפוי באגים במכשיר, צריך להחליט אם רוצים להתחבר למכשיר באמצעות כבל USB או Wi-Fi. לאחר מכן מבצעים את הפעולות הבאות:

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

  2. מגדירים את המערכת לזיהוי המכשיר.

    • ChromeOS: אין צורך בהגדרות נוספות.
    • macOS: לא נדרשת הגדרה נוספת.
    • Windows: מתקינים מנהל התקן USB עבור ADB (אם רלוונטי). למדריך התקנה ולקישורים למנהלי התקן של יצרני ציוד מקורי, אפשר לעיין במאמר התקנת מנהלי התקן USB של יצרני ציוד מקורי.
    • Ubuntu Linux: מגדירים את האפשרויות הבאות:

      • כל משתמש שרוצה להשתמש ב-ADB צריך להיות בקבוצה plugdev. אם מופיעה הודעת שגיאה על כך שאתם לא נמצאים בקבוצה plugdev, צריך להוסיף את עצמכם אליה באמצעות הפקודה הבאה:
      sudo usermod -aG plugdev $LOGNAME
      

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

      • צריך להתקין במערכת udev כללים שכוללים את המכשיר. החבילה android-sdk-platform-tools-common מכילה קבוצת ברירת מחדל של כללי udev למכשירי Android, שמנוהלים על ידי הקהילה. כדי להתקין אותו, משתמשים בפקודה הבאה:
      apt-get install android-sdk-platform-tools-common
      

חיבור למכשיר באמצעות USB

אחרי שתגדירו את המכשיר ותחברו אותו באמצעות USB, תוכלו ללחוץ על הפעלה ב-Android Studio כדי ליצור ולהריץ את האפליקציה במכשיר.

אפשר גם להשתמש ב-adb כדי להוציא פקודות, באופן הבא:

  • כדי לוודא שהמכשיר מחובר, מריצים את הפקודה adb devices מהספרייה android_sdk/platform-tools/. אם המכשיר מחובר, הוא יופיע ברשימה.
  • כדי לטרגט את המכשיר, נותנים פקודת adb עם הדגל -d.

התחברות למכשיר באמצעות Wi-Fi

ב-Android 11 ואילך יש תמיכה בפריסה ובניפוי באגים של האפליקציה באופן אלחוטי מתחנת העבודה באמצעות Android Debug Bridge‏ (ADB). לדוגמה, אפשר לפרוס את האפליקציה שניתנת לניפוי באגים במספר מכשירים מרוחקים בלי לחבר אותה פיזית למכשיר באמצעות USB ולגרום לבעיות נפוצות בחיבור USB, כמו התקנה של מנהל התקן.

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

  1. חשוב לוודא שתחנת העבודה והמכשיר מחוברים לאותה רשת אלחוטית.
  2. מוודאים שבמכשיר פועלת מערכת Android מגרסה 11 ואילך. למידע נוסף, ראו איך בודקים את גרסת Android ומעדכנים אותה.
  3. מוודאים שמותקנת הגרסה העדכנית של Android Studio. כאן אפשר להוריד אותו.
  4. בתחנת העבודה, מעדכנים לגרסת SDK Platform Tools האחרונה.

כדי להתחבר למכשיר, מבצעים את השלבים הבאים:

  1. פותחים את Android Studio ובוחרים באפשרות התאמת מכשירים באמצעות Wi-Fi בתפריט ההגדרות של ההרצה.
    התפריט הנפתח של הגדרות ההרצה
    איור 1. הפעלת תפריט ההגדרות האישיות.

    תיבת הדו-שיח התאמת מכשירים באמצעות Wi-Fi מופיעה, כפי שמוצג באיור 2.
    צילום מסך של חלון הקופץ 'התאמת מכשירים באמצעות Wi-Fi'
    איור 2. תיבת דו-שיח להתאמת מכשירים באמצעות קוד QR או קוד התאמה.
  2. מפעילים את אפשרויות הפיתוח במכשיר.
  3. מפעילים ניפוי באגים דרך Wi-Fi במכשיר.
    צילום מסך של טלפון Pixel שבו מוצגת ההגדרה של מערכות ניפוי באגים אלחוטי.
    איור 3. ההגדרה ניפוי באגים אלחוטי בטלפון Google Pixel.
  4. מקישים על ניפוי באגים אלחוטי ומתאימים את המכשיר:
    1. כדי להתאים את המכשיר באמצעות קוד QR, בוחרים באפשרות התאמת המכשיר באמצעות קוד QR וסורקים את קוד ה-QR, שמוצג באיור 2.
    2. כדי להתאים את המכשיר באמצעות קוד התאמה, בוחרים באפשרות התאמת מכשיר באמצעות קוד התאמה בתיבת הדו-שיח התאמת מכשירים חדשים באמצעות Wi-Fi. במכשיר, בוחרים באפשרות התאמה באמצעות קוד התאמה. יופיע קוד בן שש ספרות. כשהמכשיר מופיע בחלון התאמת מכשירים באמצעות Wi-Fi, מזינים את הקוד בן שש הספרות שמוצג במכשיר ובוחרים באפשרות התאמה .
      צילום מסך של דוגמה להזנת קוד התאמה
      איור 4. דוגמה להזנת קוד התאמה בן 6 ספרות.
  5. אחרי ההתאמה, תוכלו לנסות לפרוס את האפליקציה במכשיר.

כדי להתאים מכשיר אחר או למחוק את המכשיר הזה בתחנת העבודה:

  1. עוברים אל ניפוי באגים אלחוטי במכשיר.
  2. מקישים על שם תחנת העבודה בקטע מכשירים מותאמים.
  3. בוחרים באפשרות מחיקה.

שיקוף מסך של המכשיר

אפשר לשקף את המכשיר הפיזי בחלון Running Devices ב-Android Studio. כשמשדרים את המסך של המכשיר ישירות ל-Android Studio, אפשר להשתמש בסביבת הפיתוח המשולבת (IDE) של Studio כדי לבצע פעולות נפוצות כמו הפעלת אפליקציות וביצוע פעולות בהן, סיבוב המסך, קיפול ופתיחה של הטלפון ושינוי עוצמת הקול.

שיקוף המסך של המכשיר תמיד זמין כשיש מכשירים שמחוברים למחשב עם ניפוי באבחון USB או אלחוטי מופעל. אפשר להתחיל ולהפסיק את ההשתקפות באמצעות החלון Running Devices או Device Manager (View > Tool Windows > Device Manager). אפשר גם להתאים אישית את הזמן שבו השתקפות המסך של המכשיר מופעלת בהגדרות שלו (הגדרות > כלים > שיקוף מסך של המכשיר).

ממשק המשתמש של Running Devices

הפניה לאודיו

כשמשתמשים בשיקוף המסך של המכשיר, אפשר להפנות אודיו ממכשירים פיזיים מחוברים לרמקולים או לאוזניות של המחשב. באמצעות הפניה אוטומטית של אודיו, צריך לוודא שהאוזניות מחוברות למחשב ולהאזין גם למחשב וגם לטלפון המחובר, בלי שתצטרכו להתחבר מחדש באופן ידני למכשיר אחד ולאחר מכן למכשיר אחר. כדי להפעיל את הפניית האודיו, עוברים אל קובץ (Android Studio ב-macOS) > הגדרות > כלים > הצגת מכשיר ובוחרים באפשרות הפניית אודיו ממכשירים מקומיים. חשוב לזכור שהאודיו תמיד מופנה אוטומטית, ללא קשר להגדרות, במכשירי Firebase Test Lab עם Android מגרסה 12 ואילך.

בעיות מוכרות

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

2023-06-01 15:32:22,675 [  56094]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - Too many video encoder errors:
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - encoder: c2.android.vp8.encoder
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - mime type: video/x-vnd.on2.vp8
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max resolution: 640x640
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - min resolution: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - alignment: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate: 960
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate for 288x640: 960
2023-06-01 15:32:22,870 [  56289]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max bitrate: 20000000
2023-06-01 15:32:22,871 [  56290]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - terminated with code 1

הודעת פרטיות

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

פתרון בעיות בחיבור של המכשיר

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

פתרון בעיות בעזרת Assistant לחיבור

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

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

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

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

פתרון בעיות בחיבור USB

אם אסיסטנט החיבור לא מזהה את המכשיר באמצעות USB, נסו את השלבים הבאים לפתרון הבעיה:

בדיקה ש-Android Studio מתחבר למהדמנת Android

כדי לבדוק אם הבעיה נובעת מבעיית חיבור בין Android Studio לבין Android Emulator, פועלים לפי השלבים הבאים:

  1. פותחים את מנהל המכשירים.
  2. יוצרים מכונה וירטואלית חדשה ל-Android, אם עדיין אין לכם מכונה כזו.
  3. מריצים את האמולטור באמצעות ה-AVD.
  4. מבצעים אחת מהפעולות הבאות:
    • אם לא ניתן להתחבר למהדר באמצעות Android Studio, צריך להוריד את SDK Platform Tools העדכניים ולנסות שוב.
    • אם הסימולטור מתחיל לפעול, צריך לבדוק את כבל ה-USB כפי שמתואר בקטע הבא.

בדיקה של כבל ה-USB

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

אם יש לכם כבל USB אחר:

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

אם אין לכם כבל USB נוסף אבל יש לכם מכשיר Android אחר:

  1. מחברים את המכשיר המשני למחשב.
  2. אם Assistant החיבור יכול לזהות את המכשיר המשני, הבעיה היא במכשיר הראשי. בודקים אם המכשיר מוגדר לפיתוח.

    אם המכשיר המשני לא מזוהה, יכול להיות שהבעיה היא בכבל ה-USB.

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

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

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

פתרון בעיות בחיבור אלחוטי

אם נתקלת בבעיות בחיבור אל המכשיר באופן אלחוטי, אפשר לנסות את השלבים הבאים לפתרון בעיות:

לבדוק אם תחנת העבודה והמכשיר שלכם עומדים בדרישות המוקדמות

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

בדיקה אם יש בעיות ידועות אחרות

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

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

מפתח אבטחה מסוג RSA

כשמחברים למחשב מכשיר עם Android מגרסה 4.2.2 (API ברמה 17) ומעלה, המערכת מציגה תיבת דו-שיח שבה מופיעה בקשה לאשר מפתח RSA שמאפשר לנפות באגים באמצעות המחשב הזה. מנגנון האבטחה הזה מגן על מכשירי המשתמשים, כי אי אפשר לבצע ניפוי באגים ב-USB ופקודות adb אחרות אלא אם מבטלים את נעילת המכשיר ומאשרים את תיבת הדו-שיח.