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

חשוב תמיד לבדוק את אפליקציית 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 מכילה קבוצה של כללי ברירת מחדל למכשירי 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, כמו התקנת מנהל התקן.

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

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

כדי להתחבר למכשיר:

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

    מופיעה תיבת הדו-שיח Pair devices over Wi-Fi (התאמת מכשירים דרך 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. דוגמה להזנת קוד התאמה בן שש ספרות.
  5. אחרי ההתאמה, אפשר לנסות לפרוס את האפליקציה במכשיר.

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

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

שיקוף מכשיר

אפשר לשקף את המכשיר הפיזי בחלון 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 ומעלה.

בעיות מוכרות

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

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

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

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

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

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

כדי לבדוק אם הבעיה נגרמת בגלל בעיית חיבור בין 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. אם הכלי Connection Assistant מצליח לזהות את המכשיר המשני, הבעיה היא במכשיר הראשי, וצריך לבדוק אם המכשיר מוגדר לפיתוח.

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

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

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

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

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

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

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

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

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

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

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

מפתח אבטחה RSA

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