פועלים לפי השלבים שמפורטים בדף הזה כדי לשלוח דיווח על באג. המשאבים לתיקון באגים מוגבלים, ולכן אנחנו נותנים עדיפות לבדיקת באגים שיש עליהם מידע מלא. דוחות חלקיים על באגים נסגרים. במקרה כזה, צריך לשלוח מחדש את הבאג עם מידע נוסף.
כדי לוודא שאתם לא מדווחים על באג שכבר תוקן, חשוב לוודא שאתם משתמשים בגרסאות האחרונות של הכלים. אפשר גם לחפש בעיות דומות בכלי למעקב אחר בעיות ב-Android Studio כדי לראות אם הבעיה שבה נתקלת כבר דווחה.
איך מדווחים על באג
כדי לדווח על באג:
כדי לפתוח דוח על באג מ-Android Studio, בוחרים באפשרות Help (עזרה) > Submit a Bug Report (שליחת דוח על באג).
זו הדרך הקלה ביותר לדווח על באג, כי היא מאכלסת את דוח הבאג בגרסה של Android Studio, בגרסה של Kotlin או Java ובפרטי המערכת, שנדרשים כדי לשחזר את הבעיה בצורה נכונה.
אפשר גם לשלוח את הבאג כאן ולהוסיף את פרטי הגרסה בעצמכם.
יש לצרף דוח אבחון כדי שנוכל לנפות את הבאגים בבעיה. כדי ליצור קובץ zip של דוח אבחון, לוחצים על עזרה > איסוף יומנים ונתוני אבחון.
תיאור השלבים המדויקים לשחזור הבעיה. חשוב לשלוח כמה שיותר מידע, כולל קטעי קוד, פרויקט ב-GitHub שאפשר להשתמש בו כדי לשחזר את הבאג וצילומי מסך או הקלטות של מה שאתם רואים.
מתארים את הבעיה בפירוט. צריך להסביר מה הייתה התוצאה הצפויה ומה קרה בפועל.
בוחרים כותרת תיאורית לדוח הבאג. שימוש בשם תיאורי יותר יקל על המיון לפי בעיה.
לגבי באגים מסוימים, אנחנו זקוקים למידע נוסף, כפי שמתואר בקטעים הבאים:
- פרטים על באגים ב-Android Studio
- פרטים על באגים בכלים ל-build וב-Gradle
- פרטים על באגים ב-Android Emulator
פרטים על באגים ב-Android Studio
כדי לדווח על באגים ספציפיים ל-Android Studio, צריך לכלול מידע נוסף כפי שמתואר בקטע הזה.
אם סביבת הפיתוח האינטגרטית (IDE) תקועה
אם סביבת הפיתוח המשולבת עצמה נראית איטית מאוד או קפואה לגמרי, צריך ליצור כמה דיווחים על זרמים כפי שמתואר בדף הזה ולצרף אותם לדוח הבאג. נתוני ה-dump של השרשור מראים מה IDE עושה ומאט אותו.
אם סביבת הפיתוח האינטגרטית (IDE) איטית אבל לא קפואה, צריך לצרף את הקובץ idea.log
לדוח הבאג. כדי לצרף את הקובץ, בוחרים באפשרות עזרה > איסוף יומנים ונתוני אבחון או באפשרות עזרה > הצגת היומן בקבצים (עזרה > הצגת היומן ב-Finder ב-macOS).
בקובץ הזה מוצג אם סביבת הפיתוח המשולבת (IDE) גורמת לשגיאות ביומן.
שימוש בפרופילים של מעבדים (CPU) כדי לאבחן איטיות
אם אתם נתקלים בבעיות ב-Android Studio, לפעמים פרופילי המעבד יכולים לעזור לכם לאבחן את הבעיה.
כדי לתעד פרופיל של מעבד באמצעות הפלאגין של בדיקת הביצועים ב-Android Studio:
מתקינים את הפלאגין.
- ב-Android Studio, מחפשים את 'בדיקת ביצועים' בזירת המסחר של הפלאגינים.
- לחלופין, אפשר להוריד גרסה שתואמת ל-Android Studio מאתר הפלאגין.
יוצרים את פרופיל המעבד.
- אם Android Studio נראה איטי, בוחרים באפשרות Start CPU Usage Profiling.
- חוזרים על כמה פעולות שבהן זמן האחזור בעייתי (השלמת קוד, הקלדה והמתנה להדגשה, וכו').
- לוחצים על Stop CPU Usage Profiling.
משתפים את קובץ הפרופיל.
מופיע חלון קופץ עם שם הקובץ של קובץ ה-snapshot של המעבד, בפורמט
snapshot-NNN
. משתפים את קובץ snapshot בדוח על הבאג.
אם נגמר הזיכרון בסביבת הפיתוח המשולבת
לפעמים קשה לשחזר בעיות זיכרון ב-Android Studio ולדווח עליהן. כדי לעזור לכם לפתור את הבעיה הזו, Android Studio כולל דוח על שימוש בזיכרון שאפשר לשלוח לצוות Android Studio כדי לזהות את מקור הבעיות בזיכרון.
הרצת דוח על השימוש בזיכרון
כדי להריץ דוח על שימוש בזיכרון:
בסרגל התפריטים, לוחצים על עזרה > ניתוח השימוש בזיכרון.
מערכת Android Studio תגרום ליצירת גרסת dump של אשכול ותבקש מכם להפעיל מחדש את סביבת הפיתוח המשולבת. אם מפעילים מחדש את סביבת הפיתוח המשולבת, ניתוח האשפה יתחיל מיד. אחרת, ניתוח האשפה יתחיל בפעם הבאה שתפעילו את Android Studio. בכל מקרה, ה-IDE יתריע אליכם כשדוח השימוש בזיכרון יהיה מוכן לבדיקה, כפי שמוצג באיור 1.
איור 1. זיכרון: משתמשים בהתראת הדיווח. לוחצים על בדיקת הדוח.
לפני שליחת הדוח, תוכלו לבדוק את המידע שמופיע בו:
איור 2. ניתוח הדוח 'שימוש בזיכרון'. בסיום הבדיקה, מעתיקים את תוכן הדוח לקובץ ומצרפים אותו כשמדווחים על הבאג.
שליחת פרטי הדוח בדרך הזו מאפשרת לצוות Android Studio ליצור איתכם קשר באמצעות הכלי למעקב אחר בעיות בזמן הבדיקה של בעיות הזיכרון.
אם סביבת הפיתוח קורסת או גורמת לחריגות
במקרים של קריסת תוכנה מסוגים אחרים, צריך לצרף את הקובץ idea.log
שנמצא בקטע עזרה > איסוף יומנים ונתוני אבחון או בקטע עזרה > הצגת היומן בקבצים (עזרה > הצגת היומן ב-Finder ב-macOS).
יצירת דמפ של שרשור
דמפ של שרשור הוא הדפסה של כל השרשראות שפועלות ב-JVM. לכל חוט הוא כולל הדפסה של כל stackframes. כך קל לראות מה IDE עושה, במיוחד אם יוצרים כמה דמפים של חוטים במרווח של כמה שניות.
כשמדווחים על באגים שבהם סביבת הפיתוח המשולבת (IDE) עמוסה מאוד עם מעבד שפועל במלוא המרץ, או שבה נראה שה-IDE קפא, אפשר להשתמש ב-dump של חוט כדי לזהות את הקוד שמבצע הרבה עבודה או את החוטים שמתחרים על משאבים וגורמים לנעילה מרובת משתתפים.
JDK כולל כלי בשם jstack
שאפשר להשתמש בו כדי ליצור גרסת dump של חוט. קודם כול, צריך למצוא את מזהה התהליך (PID) של תהליך Android Studio.
כדי לעשות זאת, משתמשים בפקודה jps
:
ב-Linux או ב-macOS:
jps -mv | grep studio
ב-Windows:
jps -mv | findstr studio
הפקודה הזו מדפיסה שורה ארוכה, למשל:
$ jps -mv | grep studio
37605 -Dfile.encoding=UTF-8 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djna.nosys=true ...
המספר הראשון (37605 בדוגמה הזו) הוא מזהה התהליך.
בשלב הבא, יוצרים דמפ של שרשור ושומרים אותו בקובץ dump.txt
:
jstack -l pid >> dump.txt
אם הבעיה נמשכת, יש כמה דרכים נוספות ספציפיות לפלטפורמה ליצירת דמפ של שרשור. הוראות מפורטות זמינות בתמיכה של IntelliJ.
פרטים על באגים בכלי build וב-Gradle
כדי לדווח על באג בכלי build או ב-Gradle, צריך לצרף פרויקט אמיתי או פרויקט לדוגמה שמציג את הבעיה, כדי לוודא שכל המידע הנדרש יתועד. לפני שמשתפים, חשוב להסיר מידע רגיש.
אם אתם לא מצליחים לשתף פרויקט, ציינו את הגרסאות של הכלים שבהם אתם משתמשים. (כדאי לנסות את הגרסאות היציבות או הגרסאות המקדימות האחרונות לפני שמדווחים על באג). כדי למצוא את הגרסאות של הכלים:
גרסת הפלאגין של Android Gradle:
- בוחרים באפשרות File > Project Structure.
- לוחצים על Project.
- מאתרים את גרסת הפלאגין של Android Gradle.
גרסת Gradle:
- בוחרים באפשרות File > Project Structure.
- לוחצים על Project.
- מאתרים את גרסת Gradle.
גרסת Android Studio:
- בוחרים באפשרות עזרה > מידע כללי.
- מאתרים את גרסת Android Studio.
בנוסף, יש לכלול את הפרטים הבאים במקרים הרלוונטיים:
- אם התנהגות השתנתה באופן בלתי צפוי מגרסה קודמת לגרסה הנוכחית, צריך לציין את שתי הגרסאות.
- אם ה-build נכשל עם שגיאה, מריצים את ה-build משורת הפקודה עם האפשרות
--stacktrace
(למשל./gradlew <task> --stacktrace
) ומצרפים את מעקב ה-stack לדוח הבאג. - אם ה-build נמשך יותר זמן מהצפוי, אפשר לנסות את אחת מהפעולות הבאות:
- מריצים את
./gradlew <task> --scan
ומשתפים את הסריקה של ה-build ב-Gradle שנוצרה בדוח הבאג. - מריצים את
./gradlew <task> -Pandroid.enableProfileJson=true
ומשתפים את קובצי Chrome-trace שנוצרו בספרייה<root-project>/build/android-profile
.
- מריצים את
פרטים על באגים ב-Android Emulator
כדי להשתמש באמצעי הבקרה המורחבים של הסימולטור כדי לאסוף מידע ולדווח על באג:
- בחלונית של המהדר, לוחצים על עוד
.
בחלון אמצעי בקרה מורחבים, בוחרים באפשרות דוח על באג.
המסך ייפתח עם פרטי דוח הבאג, כמו צילום מסך, פרטי ההגדרה של AVD ויומן של דוח הבאג. אפשר להזין כאן את השלבים ליצירת אותה בעיה, או להמתין ולהזין אותם בדוח שייווצר בשלב הבא.
ממתינים עד לסיום האיסוף של דוח הבאג, ואז לוחצים על שליחה ל-Google.
ייפתח חלון שבו תוכלו לשמור את דוח הבאג בתיקייה. הדפדפן ייפתח גם כדי ליצור דוח במעקב הבעיות של Google, עם פרטי הסימולטור הנדרשים.
בדוח, ממלאים את הפרטים הנותרים, כמו השלבים ליצירת הבאג מחדש, ומצרפים את הקבצים שנשמרו כשיצרתם את דוח הבאג.
אם לא, מזינים את הפרטים הבאים באופן ידני:
גרסת האמולטור
- במהלך ההרצה במהדורת האדמין, פותחים את אמצעי הבקרה המורחבים.
- לוחצים על עזרה.
- לוחצים על הכרטיסייה מידע על כדי למצוא את גרסת המעבדה.
גרסת Android SDK Tools
- בוחרים באפשרות Tools (כלים) > SDK Manager (מנהל SDK).
- לוחצים על SDK Tools.
- מחפשים את Android SDK Tools.
דגם המעבד (CPU) של המארח
- ב-Linux: פותחים את
/proc/cpuinfo
. - ב-Windows: לוחצים לחיצה ימנית על My Computer (המחשב שלי) ובוחרים באפשרות Properties (מאפיינים).
- ב-macOS: בוחרים בסמל Apple ולוחצים על אודות Mac זה.
- ב-Linux: פותחים את
שם המכשיר
- ב-AVD Manager, לוחצים כדי לפתוח את התפריט בעמודה Actions של המכשיר.
- בוחרים באפשרות פרטים (או פותחים את הקובץ
$avdname.avd/config.ini
). - מאתרים את הרשומה של hw.device.name. לדוגמה:
hw.device.name=Nexus 5
.