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

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