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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ב-Android 17, לצד adb 37.0.0, מוצגת גרסת adb Wi-Fi 2.0, שפותרת הרבה בעיות שימושיות שהיו בגרסה הקודמת. חשוב לציין שהמכשיר יתחבר באופן אוטומטי לתחנת העבודה כשהוא יתחבר לרשת מהימנה לניפוי באגים אלחוטי.

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

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

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

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

    טלפון Pixel שבו מוצגת ההודעה על ניפוי באגים אלחוטי.
    איור 1. ההנחיה ניפוי באגים אלחוטי בטלפון Google Pixel.

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

    טלפון Pixel שמוצגת בו ההגדרה 'ניפוי באגים אלחוטי במערכות'.
    איור 2. ההגדרה ניפוי באגים אלחוטי בטלפון Google Pixel.

  4. פותחים את Android Studio ובוחרים באפשרות Pair Devices Using Wi-Fi (צימוד מכשירים באמצעות Wi-Fi) בתפריט של הגדרות ההפעלה.

    תפריט נפתח של הגדרות הפעלה
    איור 3. תפריט Run configurations (הגדרות הרצה).

  5. מופיעה תיבת הדו-שיח Pair devices over Wi-Fi (התאמת מכשירים באמצעות Wi-Fi), כמו שמוצג באיור 4.

    חלון קופץ להתאמת מכשירים באמצעות Wi-Fi
    איור 4. תיבת דו-שיח להתאמת מכשירים באמצעות Wi-Fi.

    לחלופין, ניתן לבצע התאמה של המכשיר מDevice Manager. לדוגמה My Pixel.

    Device Manager עם מכשיר שזמין להתאמה באמצעות Wi-Fi
    איור 5. Device Manager עם מכשיר שזמין להתאמה באמצעות Wi-Fi.

  6. לוחצים על Pair במכשיר שרוצים להתאים. מופיעה תיבת הדו-שיח של התאמת מכשירים.

    1. כדי להתאים את המכשיר באמצעות קוד QR, בוחרים באפשרות התאמת מכשיר באמצעות קוד QR וסורקים את קוד ה-QR.
      חלון קופץ להתאמת מכשירים באמצעות Wi-Fi
      איור 6. תיבת דו-שיח להתאמת מכשיר באמצעות קוד QR.
    2. כדי להתאים את המכשיר באמצעות קוד התאמה, בוחרים באפשרות התאמת מכשיר באמצעות קוד התאמה בתיבת הדו-שיח התאמת מכשירים חדשים באמצעות Wi-Fi. במכשיר, בוחרים באפשרות התאמה באמצעות קוד התאמה. יופיע קוד בן שש ספרות. אחרי שהמכשיר מופיע בחלון התאמת מכשירים דרך Wi-Fi, מזינים את הקוד בן שש הספרות שמופיע במכשיר ולוחצים על התאמה .
      דוגמה להזנת קוד התאמה
      איור 7. דוגמה להזנת קוד התאמה בן שש ספרות.
  7. אחרי ההתאמה, אפשר לנסות לפרוס את האפליקציה במכשיר.

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

שיקוף מכשיר

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

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

ממשק המשתמש של מכשירי ריצה

הפניה לאודיו

כשמשתמשים בשיקוף מכשיר, אפשר להפנות מחדש את האודיו ממכשירים פיזיים מחוברים לרמקולים או לאוזניות של המחשב. בעזרת הפניית האודיו מחדש, אפשר להשאיר את האוזניות מחוברות למחשב ולהאזין גם למחשב וגם לטלפון המחובר בלי שתצטרכו להתחבר מחדש באופן ידני למכשיר אחד ואז למכשיר אחר. כדי להפעיל את הפניית האודיו מחדש, עוברים אל File (Android Studio ב-macOS) > Settings > Tools > Device Mirroring ובוחרים באפשרות Redirect audio from local devices. שימו לב: האודיו תמיד מופנה מחדש, ללא קשר להגדרות, במכשירי 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, אפשר לנסות את השלבים הבאים כדי לפתור את הבעיה:

פתרון בעיות בעזרת עוזר החיבור

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

כדי להפעיל את הכלי, בוחרים באפשרות Tools (כלים) > Troubleshoot Device Connections (פתרון בעיות בחיבורי מכשירים).

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

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

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

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

בודקים ש-Android Studio מתחבר ל-אמולטור Android

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

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

בדיקת כבל ה-USB

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

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

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

אם אין לכם כבל USB אחר, אבל יש לכם מכשיר Android אחר:

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

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

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

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

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

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

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

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

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

עיון במדריך לפתרון בעיות ב-adb

פועלים לפי המדריך לפתרון בעיות ב-adb.

מפתח אבטחה RSA

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