תמיד כדאי לבדוק את אפליקציית Android במכשיר אמיתי לפני שמפיצים אותה למשתמשים. בדף הזה מוסבר איך להגדיר את סביבת הפיתוח ואת מכשיר Android לצורך בדיקה וניפוי באגים דרך חיבור של Android Debug Bridge (ADB).
הגדרת מכשיר לפיתוח
לפני שמתחילים בניפוי באגים במכשיר, צריך להחליט אם רוצים להתחבר למכשיר באמצעות כבל USB או Wi-Fi. לאחר מכן מבצעים את הפעולות הבאות:
במכשיר, פותחים את אפליקציית הגדרות, בוחרים באפשרות אפשרויות למפתחים ומפעילים את האפשרות ניפוי באגים ב-USB (אם רלוונטי).
מגדירים את המערכת לזיהוי המכשיר.
- 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
- כל משתמש שרוצה להשתמש ב-ADB צריך להיות בקבוצה
חיבור למכשיר באמצעות USB
אחרי שתגדירו את המכשיר ותחברו אותו באמצעות USB, תוכלו ללחוץ על הפעלה ב-Android Studio כדי ליצור ולהריץ את האפליקציה במכשיר.
אפשר גם להשתמש ב-adb
כדי להוציא פקודות, באופן הבא:
- כדי לוודא שהמכשיר מחובר, מריצים את הפקודה
adb devices
מהספרייהandroid_sdk/platform-tools/
. אם המכשיר מחובר, הוא יופיע ברשימה. - כדי לטרגט את המכשיר, נותנים פקודת
adb
עם הדגל-d
.
התחברות למכשיר באמצעות Wi-Fi
ב-Android 11 ואילך יש תמיכה בפריסה ובניפוי באגים של האפליקציה באופן אלחוטי מתחנת העבודה באמצעות Android Debug Bridge (ADB). לדוגמה, אפשר לפרוס את האפליקציה שניתנת לניפוי באגים במספר מכשירים מרוחקים בלי לחבר אותה פיזית למכשיר באמצעות USB ולגרום לבעיות נפוצות בחיבור USB, כמו התקנה של מנהל התקן.
כדי להשתמש בניפוי באגים אלחוטי, צריך להתאים את המכשיר לתחנת העבודה באמצעות קוד התאמה. כדי להתחיל, מבצעים את השלבים הבאים:
- חשוב לוודא שתחנת העבודה והמכשיר מחוברים לאותה רשת אלחוטית.
- מוודאים שבמכשיר פועלת מערכת Android מגרסה 11 ואילך. למידע נוסף, ראו איך בודקים את גרסת Android ומעדכנים אותה.
- מוודאים שמותקנת הגרסה העדכנית של Android Studio. כאן אפשר להוריד אותו.
- בתחנת העבודה, מעדכנים לגרסת SDK Platform Tools האחרונה.
כדי להתחבר למכשיר, מבצעים את השלבים הבאים:
- פותחים את Android Studio ובוחרים באפשרות התאמת מכשירים באמצעות Wi-Fi בתפריט ההגדרות של ההרצה.
- מפעילים את אפשרויות הפיתוח במכשיר.
- מפעילים ניפוי באגים דרך Wi-Fi במכשיר.
- מקישים על ניפוי באגים אלחוטי ומתאימים את המכשיר:
- כדי להתאים את המכשיר באמצעות קוד QR, בוחרים באפשרות התאמת המכשיר באמצעות קוד QR וסורקים את קוד ה-QR, שמוצג באיור 2.
- כדי להתאים את המכשיר באמצעות קוד התאמה, בוחרים באפשרות התאמת מכשיר באמצעות קוד התאמה בתיבת הדו-שיח התאמת מכשירים חדשים באמצעות Wi-Fi. במכשיר, בוחרים באפשרות התאמה באמצעות קוד התאמה. יופיע קוד בן שש ספרות. כשהמכשיר מופיע בחלון התאמת מכשירים באמצעות Wi-Fi, מזינים את הקוד בן שש הספרות שמוצג במכשיר ובוחרים באפשרות התאמה .
- אחרי ההתאמה, תוכלו לנסות לפרוס את האפליקציה במכשיר.
כדי להתאים מכשיר אחר או למחוק את המכשיר הזה בתחנת העבודה:
- עוברים אל ניפוי באגים אלחוטי במכשיר.
- מקישים על שם תחנת העבודה בקטע מכשירים מותאמים.
- בוחרים באפשרות מחיקה.
שיקוף מסך של המכשיר
אפשר לשקף את המכשיר הפיזי בחלון Running Devices ב-Android Studio. כשמשדרים את המסך של המכשיר ישירות ל-Android Studio, אפשר להשתמש בסביבת הפיתוח המשולבת (IDE) של Studio כדי לבצע פעולות נפוצות כמו הפעלת אפליקציות וביצוע פעולות בהן, סיבוב המסך, קיפול ופתיחה של הטלפון ושינוי עוצמת הקול.
שיקוף המסך של המכשיר תמיד זמין כשיש מכשירים שמחוברים למחשב עם ניפוי באבחון USB או אלחוטי מופעל. אפשר להתחיל ולהפסיק את ההשתקפות באמצעות החלון Running Devices או Device Manager (View > Tool Windows > Device Manager). אפשר גם להתאים אישית את הזמן שבו השתקפות המסך של המכשיר מופעלת בהגדרות שלו (הגדרות > כלים > שיקוף מסך של המכשיר).
הפניה לאודיו
כשמשתמשים בשיקוף המסך של המכשיר, אפשר להפנות אודיו ממכשירים פיזיים מחוברים לרמקולים או לאוזניות של המחשב. באמצעות הפניה אוטומטית של אודיו, צריך לוודא שהאוזניות מחוברות למחשב ולהאזין גם למחשב וגם לטלפון המחובר, בלי שתצטרכו להתחבר מחדש באופן ידני למכשיר אחד ולאחר מכן למכשיר אחר. כדי להפעיל את הפניית האודיו, עוברים אל קובץ (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, פועלים לפי השלבים הבאים:
- פותחים את מנהל המכשירים.
- יוצרים מכונה וירטואלית חדשה ל-Android, אם עדיין אין לכם מכונה כזו.
- מריצים את האמולטור באמצעות ה-AVD.
- מבצעים אחת מהפעולות הבאות:
- אם לא ניתן להתחבר למהדר באמצעות Android Studio, צריך להוריד את SDK Platform Tools העדכניים ולנסות שוב.
- אם הסימולטור מתחיל לפעול, צריך לבדוק את כבל ה-USB כפי שמתואר בקטע הבא.
בדיקה של כבל ה-USB
כדי לבדוק אם הבעיה נגרמת על ידי כבל USB פגום, עליכם לבצע את השלבים המפורטים בסעיף הזה.
אם יש לכם כבל USB אחר:
- מחברים את המכשיר באמצעות הכבל המשני.
- בודקים אם עכשיו אפשר לזהות את המכשיר באמצעות 'כלי החיבור'.
- אם המכשיר לא מזוהה, מנסים שוב עם הכבל הראשי.
- אם המכשיר עדיין לא מזוהה, מניחים שהבעיה היא במכשיר ובודקים אם המכשיר מוגדר לפיתוח, כפי שמתואר בקטע הבא.
אם אין לכם כבל USB נוסף אבל יש לכם מכשיר Android אחר:
- מחברים את המכשיר המשני למחשב.
אם Assistant החיבור יכול לזהות את המכשיר המשני, הבעיה היא במכשיר הראשי. בודקים אם המכשיר מוגדר לפיתוח.
אם המכשיר המשני לא מזוהה, יכול להיות שהבעיה היא בכבל ה-USB.
בודקים אם המכשיר מוגדר לפיתוח
כדי לבדוק אם הבעיה נובעת מהגדרות במכשיר, פועלים לפי השלבים הבאים:
- פועלים לפי השלבים שמפורטים בקטע הגדרת מכשיר לפיתוח.
- אם הבעיה לא נפתרת, אפשר לפנות לתמיכת הלקוחות של יצרן המכשיר לקבלת עזרה. מדווחים לנציג תמיכת הלקוחות שהמכשיר לא מתחבר ל-Android Studio באמצעות ADB.
פתרון בעיות בחיבור אלחוטי
אם נתקלת בבעיות בחיבור אל המכשיר באופן אלחוטי, אפשר לנסות את השלבים הבאים לפתרון בעיות:
לבדוק אם תחנת העבודה והמכשיר שלכם עומדים בדרישות המוקדמות
כדי לעמוד בדרישות המוקדמות לניפוי באגים אלחוטי, צריך לוודא:
- תחנת העבודה והמכשיר מחוברים לאותה רשת אלחוטית.
- במכשיר שלכם פועלת מערכת Android מגרסה 11 ואילך. מידע נוסף זמין במאמר איך בודקים את גרסת Android ומעדכנים אותה.
- מותקנת במחשב שלכם הגרסה האחרונה של Android Studio. אפשר להוריד אותו מהדף הראשי של Android Studio.
- יש לכם את הגרסה האחרונה של SDK Platform Tools בתחנת העבודה.
בדיקה אם יש בעיות ידועות אחרות
בהמשך ריכזנו רשימה של בעיות ידועות בניפוי באגים אלחוטי ב-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
אחרות אלא אם מבטלים את נעילת המכשיר ומאשרים את תיבת הדו-שיח.