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

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

הפעלת האפשרויות למפתחים

ב-Android מגרסה 4.1 ומטה, המסך אפשרויות למפתחים זמין כברירת מחדל. ב-Android מגרסה 4.2 ואילך, צריך להפעיל את המסך הזה.

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

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

    טבלה 1. המיקום של הגדרות המכשיר עבור האפשרות מספר Build

    מכשיר הגדרה

    Google Pixel

    הגדרות > מידע על הטלפון > מספר Build

    Google Pixel Watch

    הגדרות > מערכת > מידע כללי > גרסאות > מספר Build

    ‫Samsung Galaxy S8 ודגמים חדשים יותר

    הגדרות > מידע על הטלפון > פרטי תוכנה > מספר Build

    ‫LG G6 ואילך

    הגדרות > מידע על הטלפון > פרטי תוכנה > מספר Build

    ‫HTC U11 ואילך

    הגדרות > מידע כללי > פרטי תוכנה > עוד > מספר Build או הגדרות > מערכת > מידע על הטלפון > פרטי תוכנה > עוד > מספר Build

    ‫OnePlus 5T ואילך

    הגדרות > מידע על הטלפון > מספר Build

  2. מקישים שבע פעמים על האפשרות מספר Build עד שמופיעה ההודעה You are now a developer!. כך מפעילים את האפשרויות למפתחים במכשיר.

  3. חוזרים למסך הקודם ומחפשים את אפשרויות למפתחים בתחתית.

איור 1. אפשרויות למפתחים במכשיר.

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

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

כדי להשתמש בכלי לניפוי באגים ובכלים אחרים, צריך להפעיל את ניפוי הבאגים. כך Android Studio וכלי SDK אחרים יוכלו לתקשר עם המכשיר. אפשר להתחבר באמצעות USB או Wi-Fi.

מפעילים את ניפוי באגים ב-USB בהגדרות המערכת של המכשיר בקטע אפשרויות למפתחים. תוכלו למצוא את האפשרות הזו באחד מהמיקומים הבאים, בהתאם לגרסת Android.

  • ‫Wear OS 6 (רמת API‏ 36) ומעלה: הגדרות > אפשרויות למפתחים > ניפוי באגים ב-ADB
  • ‫Android 9 (רמת API‏ 28) ומעלה: הגדרות > מערכת > אפשרויות מתקדמות > אפשרויות למפתחים > ניפוי באגים ב-USB
  • ‫Android 8.0.0 (רמת API 26) ו-Android 8.1.0 (רמת API 27): הגדרות > מערכת > אפשרויות למפתחים > ניפוי באגים ב-USB
  • ‫Android 7.1 (רמת API 25) ומטה: הגדרות > אפשרויות למפתחים > ניפוי באגים ב-USB

מפעילים את האפשרות ניפוי באגים ב-Wi-Fi בהגדרות המערכת של המכשיר בקטע אפשרויות למפתחים. האפשרות הזו מופיעה באחד מהמקומות הבאים, בהתאם לגרסת Android.

  • ‫Android מגרסה 16 (רמת API‏ 36) ואילך: הגדרות > מערכת > אפשרויות למפתחים > ניפוי באגים אלחוטי
  • ‫Wear OS 6 (רמת API‏ 36) ואילך: הגדרות > אפשרויות למפתחים > ניפוי באגים אלחוטי

אחרי שמפעילים את ניפוי הבאגים ב-Wi-Fi במכשיר, מצמידים את המכשיר למחשב הפיתוח. איך מתחברים למכשיר באמצעות Wi-Fi

אפשרויות כלליות

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

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

איור 2. מוסיפים אפשרויות לחלונית ההגדרות המהירות.

אפשרויות כלליות נוספות:

  • זיכרון: הצגת נתוני זיכרון, כמו שימוש ממוצע בזיכרון, ביצועי זיכרון, נפח זיכרון כולל זמין, שימוש ממוצע בזיכרון, נפח זיכרון פנוי זמין ושימוש בזיכרון של אפליקציות.
  • יצירת דוח איתור באגים: מקבלים עותק של קובצי היומן הנוכחיים של המכשיר כדי לשתף אותם עם מישהו. כשמקבלים התראה שהדוח על הבאג מוכן, מקישים על ההתראה כדי לשתף אותו.
  • מצב הדגמה של ממשק המשתמש של המערכת: מאפשר לצלם צילומי מסך נקיים בקלות רבה יותר, כי מוצג סרגל התראות כללי ומוגדר מראש שלא מציג התראות או אזהרות על סוללה חלשה. הפעלת מצב הדגמה מאפשרת לשנות את המראה של שורת הסטטוס באמצעות adb פקודות של מצב הדגמה. אפשר גם להשתמש באפשרות הצגת מצב הדגמה כדי להסתיר את ההתראות ולהציג שורת סטטוס מוגדרת מראש.
  • סיסמת גיבוי למחשב: הגדרת סיסמת גיבוי כדי שתוכלו להשתמש בפקודות adb לגיבוי ולשחזור של אפליקציות ונתונים במכשיר עם הגנה באמצעות סיסמה.
  • בלי כניסה למצב שינה: המסך לא ייכבה כשהמכשיר מחובר לחשמל.
  • הפעלת יומן Snoop של Bluetooth Host Controller Interface ‏ (HCI): מתעד את כל חבילות ה-Bluetooth HCI בקובץ שמאוחסן ב-/sdcard/btsnoop_hci.log. אפשר לאחזר את החבילות ולהשתמש בתוכנה כמו Wireshark כדי לנתח את המידע ולפתור בעיות.

ניפוי באגים

איור 3. האפשרויות לניפוי באגים מופעלות.

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

מפעילים ניפוי באגים ב-USB, כמו שמוצג באיור 3, כדי שמכשיר Android יוכל לתקשר עם מכונת הפיתוח דרך ממשק הגישור של Android‏ (ADB). האפשרות Wait for Debugger (המתנה למנפה הבאגים) לא זמינה עד שמשתמשים באפשרות Select debug app (בחירת אפליקציה לניפוי באגים) כדי לבחור את האפליקציה לניפוי באגים. אם מפעילים את האפשרות המתנה למנפה הבאגים, האפליקציה שנבחרה ממתינה שמנפה הבאגים יצורף אליה לפני שהיא מופעלת.

אפשרויות נוספות לניפוי באגים:

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

  • אפשר לבדוק את מאפייני התצוגה: שומר את פרטי מאפייני התצוגה במשתנה החבר mAttributes של מופע View כדי שאפשר יהיה להשתמש בו לניפוי באגים. אפשר לגשת למידע על המאפיינים דרך ממשק המשתמש של Layout Inspector, כמו שמוצג באיור 4. אם לא מפעילים את ההגדרה הזו, הפריט מאפיינים לא זמין.
  • הפעלת שכבות לניפוי באגים ב-GPU: האפשרות הזו זמינה במכשירים שמותקנת בהם גרסת Android 9‏ (API ברמה 28) ומעלה. מפעילים את האפשרות הזו כדי לאפשר טעינה של שכבות אימות של Vulkan מאחסון המכשיר המקומי. מידע נוסף זמין במאמר בנושא שכבות אימות של Vulkan ב-Android.

Networking

איור 5. בוחרים אפשרויות של תצורת USB.

אפשרויות הרשת מאפשרות להגדיר את הגדרות ה-Wi-Fi וה-DHCP.

מקישים על בחירת הגדרת USB כדי לציין איך רוצים שהמחשב יזהה את המכשיר. כפי שמוצג באיור 5, אפשר להגדיר את המכשירים לטעינה בלבד, להעברת קבצים (MTP), להעברת תמונות (PTP), לשימוש באינטרנט בנייד במחשב (RNDIS) או להעברת קבצי אודיו או MIDI.

מקישים על גרסת Bluetooth AVRCP ובוחרים את גרסת הפרופיל שרוצים להשתמש בה כדי לשלוט בציוד אודיו/וידאו של Bluetooth שהמכשיר יכול לגשת אליו.

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

  • Bluetooth Audio Codec: כדי לשנות את איכות הצליל (קודק) של המכשירים, בוחרים באחד מהקודקים הבאים:
    • SBC: מעביר נתונים למכשירי פלט אודיו של Bluetooth, כמו אוזניות ורמקולים.
    • AAC: מספק איכות אודיו טובה יותר ממכשירים עם חיבור קווי בהשוואה ל-MP3, בקצבי העברת נתונים דומים.
    • aptX: מספק צליל אלחוטי בסמארטפונים, רמקולים, מקרני קול, אוזניות וטאבלטים באיכות גבוהה.
    • aptX HD: מאפשר סטרימינג ברזולוציה גבוהה למכשירי Bluetooth.
    • LDAC: מאפשרת האזנה למוזיקה באיכות גבוהה בחיבורים אלחוטיים.
  • הפעלה של Codecs אופציונליים והשבתה של Codecs אופציונליים: אם התקנתם הטמעות נוספות של Codecs, תוכלו להשתמש באפשרויות האלה כדי להפעיל ולהשבית אותן.
  • תדירות הדגימה של אודיו ל-Bluetooth: כדי לשנות את מספר דגימות האודיו בשנייה, בוחרים את תדירות הדגימה של קודק האודיו. שיעורי דגימה גבוהים יותר צורכים יותר משאבים.
  • Bluetooth Audio Bits Per sample: הגדרה של מספר הביטים של המידע בכל דגימת אודיו. ככל שקצב העברת הנתונים גבוה יותר, איכות הצליל טובה יותר, אבל קובץ הדגימה גדול יותר.
  • מצב של ערוץ אודיו ל-Bluetooth: בחירה בין מונו לסטריאו.
  • קודק אודיו LDAC ל-Bluetooth: הקודק הזה משפר את הסאונד כדי להגביר את איכות האודיו, לאזן בין איכות האודיו לאיכות החיבור, לשפר את איכות החיבור או להשתמש בקצב העברת נתונים משתנה כדי לאזן בין איכות האודיו לאיכות החיבור.

בטבלה הבאה מפורטות דרכים נוספות להגדרת Wi-Fi ו-DHCP:

  • אישור של מסך Wi-Fi: מאפשר הגדרות מתקדמות של אמצעי בקרה והגדרות לאישור של מסך Wi-Fi בהתאם למפרטים שנקבעו ב-Wi-Fi Alliance Wi-Fi Display Specification.
  • הפעלת רישום מפורט ביומן של Wi-Fi: מגדילה את רמת הרישום ביומן של Wi-Fi לכל רשת אלחוטית (SSID) שאליה מתחברים, בהתאם לעוצמת האות היחסי המתקבל (RSSI). מידע נוסף על יומנים זמין במאמר כתיבה של יומנים והצגה שלהם באמצעות Logcat.
  • מעבר אגרסיבי מ-Wi-Fi לרשת סלולרית: כשהאות חלש, המעבר מ-Wi-Fi לרשת סלולרית יעיל יותר.

קלט

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

איור 6. סרגל מיקום הסמן.

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

שרטוט

איור 7. מבנים של ממשקי משתמש.

אפשרויות הציור מספקות רמזים חזותיים לגבי ממשק המשתמש של האפליקציה ואופן הפעולה שלה.

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

אפשרויות נוספות לציור:

  • קביעת הפריסה מימין לשמאל: קובעת את כיוון הפריסה של המסך מימין לשמאל (RTL) או משמאל לימין (ברירת מחדל).
  • קנה מידה של אנימציית החלון: הגדרה של מהירות ההפעלה של אנימציית החלון, כדי שתוכלו לבדוק את הביצועים שלה במהירויות שונות. ככל שההיקף קטן יותר, המהירות גבוהה יותר.
  • קנה מידה לאנימציית מעבר: מגדיר את מהירות ההפעלה של אנימציית המעבר כדי שתוכלו לבדוק את הביצועים שלה במהירויות שונות. ככל שההיקף קטן יותר, המהירות גבוהה יותר.
  • הדמיית מסכי משנה: יוצרת מסך משני כשכבת-על במכשיר. האפשרות הזו שימושית כשרוצים לתמוך בתצוגות נוספות באמצעות API‏ Presentation. מידע נוסף זמין במאמר בנושא מסכים משניים.

עיבוד מואץ של חומרה

איור 8. מרחב צבעים של עיוורון צבעים.

אפשרויות רינדור עם האצת חומרה מספקות דרכים לאופטימיזציה של האפליקציה עבור פלטפורמות החומרה שהיא מיועדת להן, באמצעות אפשרויות מבוססות-חומרה כמו GPU, שכבות חומרה ו-MSAA (החלקת קצוות עם דגימה מרובה).

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

  • מושבת (אין ערכת צבעים מדומה)
  • מונוכרומטיה (מגבילה את ערכת הצבעים לשחור, לבן ואפור)
  • דוטרנומליה (משפיעה על הצגת הצבעים אדום וירוק)
  • פרוטנומליה (משפיעה על התצוגה של אדום וירוק)
  • טריטנומליה (משפיע על התצוגה של כחול וצהוב)
פרוטנומליה מתייחסת לעיוורון צבעים אדום-ירוק עם חולשה בצבעים אדומים, ודוטרנומליה, שמוצגת באיור 8, מתייחסת לעיוורון צבעים אדום-ירוק עם חולשה בצבעים ירוקים.

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

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

  • הגדרת מעבד גרפי (GPU) לעיבוד: שינוי מנוע הגרפיקה Open GL שמוגדר כברירת מחדל למנוע הגרפיקה Open GL Skia.
  • אילוץ עיבוד ב-GPU: אילוץ שימוש ב-GPU לציור דו-ממדי באפליקציות שנכתבו ללא עיבוד ב-GPU כברירת מחדל.
  • הצגת עדכוני תצוגה של GPU: הצגת כל אלמנט במסך שמצויר באמצעות ה-GPU.
  • ניפוי באגים של ציור יתר של GPU: מוצג קידוד צבעוני במכשיר כדי שתוכלו לראות כמה פעמים אותו פיקסל צויר באותו פריים. ההדמיה מראה איפה האפליקציה מבצעת יותר עיבוד ממה שנדרש. מידע נוסף זמין במאמר בנושא הדמיה של ציור יתר של GPU.
  • ניפוי באגים בפעולות באזור שאינו מלבני: השבתה של אזור החיתוך באזור הציור כדי ליצור אזורים לא רגילים (לא מלבניים) באזור הציור. בדרך כלל, אזור הגזירה מונע ציור של כל דבר מחוץ לגבולות של אזור הגזירה העגול.
  • אילוץ הפעלת 4x MSAA: הפעלת מניעת קצוות מחודדים (anti-aliasing) של ריבוי דגימות (MSAA) באפליקציות Open GL ES 2.0.
  • השבתת שכבות-על של HW: השבתה של שכבת-העל של החומרה. שימו לב: שימוש בשכבת-על של חומרה מאפשר לאפליקציות שמציגות משהו על המסך להשתמש בפחות כוח עיבוד. בלי שכבת העל, האפליקציות חולקות את זיכרון הווידאו וצריכות לבדוק כל הזמן אם יש התנגשות או חיתוך כדי להציג תמונה תקינה. הבדיקה הזו דורשת הרבה כוח עיבוד.

מדיה

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

ב-Android מגרסה 11 ואילך, כשמשתמשים באפליקציה ללא הרשאת RECORD_AUDIO כדי לבקש גישה ישירה למכשיר אודיו USB עם יכולת הקלטת אודיו (כמו אוזניות USB), מוצגת הודעת אזהרה שמבקשת מהמשתמש לאשר את ההרשאה לשימוש במכשיר.UsbManager מערכת מתעלמת מכל אפשרות של "שימוש תמיד", ולכן המשתמש חייב לאשר את האזהרה ולהעניק הרשאה בכל פעם שאפליקציה מבקשת גישה. כדי למנוע את ההתנהגות הזו, האפליקציה צריכה לבקש את ההרשאה RECORD_AUDIO.

מעקב

איור 9. פרופיל עיבוד ב-GPU כייצוג של עמודות.

אפשרויות המעקב מספקות מידע חזותי על ביצועי האפליקציה, כמו פעולות ארוכות של שרשור ו-GPU.

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

אפליקציות

איור 10. הגדרת מגבלה של תהליכים ברקע.

אפשרויות האפליקציה עוזרות להבין איך האפליקציה פועלת במכשיר היעד.

מקישים על מגבלה של תהליכים ברקע כדי להגדיר את מספר התהליכים שיכולים לפעול ברקע בכל זמן נתון. ההגדרות האפשריות מוצגות באיור 10.

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

כדי להאריך את חיי הסוללה, אפשר להפעיל את האפשרות אל תשמור פעילויות כדי להשמיד כל פעילות ברגע שהמשתמש עוזב את התצוגה הראשית של הפעילות.

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