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