אפליקציית ההגדרות ב-Android כוללת מסך שנקרא אפשרויות למפתחים, שבו אפשר להגדיר התנהגויות של המערכת שיעזרו לכם ליצור פרופיל של ביצועי האפליקציה ולנפות באגים. לדוגמה, אפשר להפעיל ניפוי באגים באמצעות USB, לצלם דוח על באג, להפעיל משוב ויזואלי על הקשות, להבהב את משטחי החלונות כשהם מתעדכנים, להשתמש ב-GPU לרינדור גרפיקה דו-ממדית ועוד.
הפעלת האפשרויות למפתחים
ב-Android מגרסה 4.1 ומטה, המסך אפשרויות למפתחים זמין כברירת מחדל. ב-Android מגרסה 4.2 ואילך, צריך להפעיל את המסך הזה.
הערה: יכול להיות שבמכשירים מסוימים, המסך אפשרויות למפתחים נמצא במקום אחר או נקרא בשם אחר.
-
במכשיר, מחפשים את האפשרות מספר Build. בטבלה הבאה מוצג המיקום של ההגדרה מספר בנייה במכשירים שונים:
טבלה 1. המיקום של הגדרות המכשיר עבור האפשרות מספר גרסת ה-Build
מכשיר הגדרה Google Pixel
הגדרות > מידע על הטלפון > מספר Build
Samsung Galaxy S8 ודגמים חדשים יותר
הגדרות > מידע על הטלפון > פרטי תוכנה > מספר Build
LG G6 ואילך
הגדרות > מידע על הטלפון > פרטי תוכנה > מספר Build
HTC U11 ואילך
הגדרות > מידע כללי > פרטי תוכנה > עוד > מספר Build או הגדרות > מערכת > מידע על הטלפון > פרטי תוכנה > עוד > מספר Build
OnePlus 5T ואילך
הגדרות > מידע על הטלפון > מספר Build
-
מקישים שבע פעמים על האפשרות מספר Build עד שמופיעה ההודעה
You are now a developer!
. כך מפעילים את האפשרויות למפתחים במכשיר. חוזרים למסך הקודם ומחפשים את אפשרויות למפתחים בחלק התחתון.

איור 1. אפשרויות למפתחים במכשיר.
בחלק העליון של המסך אפשרויות למפתחים, אפשר להפעיל או להשבית את האפשרויות, כמו שמוצג באיור 1. כדאי להשאיר את ההגדרה הזו מופעלת. כשההגדרה מושבתת, רוב האפשרויות מושבתות, למעט אלה שלא דורשות תקשורת בין המכשיר לבין המחשב שבו מתבצעת הפיתוח.
הפעלת ניפוי באגים ב-USB במכשיר
כדי להשתמש בכלי לניפוי באגים ובכלים אחרים, צריך להפעיל את האפשרות 'ניפוי באגים ב-USB'. כך Android Studio וכלי SDK אחרים יוכלו לזהות את המכשיר כשהוא מחובר באמצעות USB.
מפעילים את האפשרות ניפוי באגים ב-USB בהגדרות המערכת של המכשיר בקטע אפשרויות למפתחים. אפשר למצוא את האפשרות הזו באחד מהמקומות הבאים, בהתאם לגרסת Android:
- Android 9 (רמת API 28) ומעלה: הגדרות > מערכת > אפשרויות מתקדמות > אפשרויות למפתחים > ניפוי באגים ב-USB
- Android 8.0.0 (API ברמה 26) ו-Android 8.1.0 (API ברמה 27): הגדרות > מערכת > אפשרויות למפתחים > ניפוי באגים ב-USB
- Android 7.1 (API ברמה 25) ומטה: הגדרות > אפשרויות למפתחים > ניפוי באגים ב-USB
אפשרויות כלליות
מקישים על כפתורים למפתחים בהגדרות המהירות כדי להוסיף את אפשרויות המפתחים שנבחרו לחלונית ההגדרות המהירות.
אחרי שבוחרים אחת או יותר מהאפשרויות הזמינות, שמוצגות באיור 2, פותחים את חלונית ההגדרות המהירות ומקישים על סמל העיפרון כדי להיכנס למצב עריכה. לאחר מכן, גוררים את המשבצות של המפתחים מחלונית המשבצות לחלונית ההגדרות המהירות, ומקישים שוב על סמל העיפרון כדי לצאת ממצב העריכה.

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

איור 3. האפשרויות לניפוי באגים מופעלות.
אפשרויות ניפוי הבאגים מספקות דרכים להגדיר ניפוי באגים במכשיר וליצור תקשורת בין המכשיר לבין המחשב שבו מתבצע הפיתוח.
מפעילים ניפוי באגים ב-USB, כמו שמוצג באיור 3, כדי שמכשיר Android יוכל לתקשר עם מכונת הפיתוח באמצעות ממשק הגישור של Android (adb). האפשרות Wait for Debugger לא זמינה עד שמשתמשים באפשרות Select debug app כדי לבחור את האפליקציה לניפוי באגים. אם מפעילים את האפשרות המתנה לניפוי באגים, האפליקציה שנבחרה ממתינה שמנפה הבאגים יצורף אליה לפני שהיא מופעלת.
אפשרויות נוספות לניפוי באגים:
- אחסון מתמיד של נתוני תיעוד במכשיר: בוחרים את סוג הודעות היומן שרוצים לאחסן באופן קבוע במכשיר. האפשרויות הן השבתה, כל האפליקציות, כל האפליקציות חוץ מרדיו או רק ליבת המערכת.
- בחירת אפליקציה למיקום מדויק: משתמשים באפשרות הזו כדי לזייף את מיקום ה-GPS של המכשיר, כדי לבדוק אם האפליקציה מתנהגת באופן זהה במיקומים אחרים. כדי להשתמש באפשרות הזו, צריך להוריד ולהתקין אפליקציה למיקום מדומה של GPS.
- אפשר לבדוק את מאפייני התצוגה: שומר את פרטי מאפייני התצוגה במשתנה החבר
mAttributes
של מופעView
כדי שאפשר יהיה להשתמש בו לניפוי באגים. אפשר לגשת למידע על המאפיין דרך ממשק המשתמש של כלי הבדיקה של הפריסה, כמו שמוצג באיור 4. אם לא מפעילים את ההגדרה הזו, הפריט מאפיינים לא זמין. - הפעלת שכבות לניפוי באגים ב-GPU: זמין במכשירים שמותקנת בהם מערכת Android מגרסה 9 (API ברמה 28) ומעלה. מפעילים את האפשרות הזו כדי לאפשר טעינה של שכבות אימות של Vulkan מאחסון המכשיר המקומי. מידע נוסף זמין במאמר בנושא שכבות אימות של Vulkan ב-Android.

איור 4. צפייה במאפיינים.
רשתות

איור 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 אופציונליים: אם התקנתם הטמעות נוספות של Codec, תוכלו להשתמש באפשרויות האלה כדי להפעיל ולהשבית אותן.
- תדירות הדגימה של אודיו ל-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.
אפשרויות נוספות לציור:
- קביעת הפריסה מימין לשמאל: קובעת את כיוון פריסת המסך מימין לשמאל או משמאל לימין (ברירת מחדל).
- קנה מידה של אנימציית החלון: הגדרה של מהירות ההפעלה של אנימציית החלון, כדי שתוכלו לבדוק את הביצועים שלה במהירויות שונות. ככל שהסולם נמוך יותר, המהירות גבוהה יותר.
- קנה מידה לאנימציית מעבר: הגדרה של מהירות ההפעלה של אנימציית המעבר, כדי שתוכלו לבדוק את הביצועים שלה במהירויות שונות. ככל שהסולם נמוך יותר, המהירות גבוהה יותר.
- הדמיית מסכי משנה: יצירת מסך משני כשכבת-על במכשיר.
האפשרות הזו שימושית כשרוצים לתמוך בתצוגות נוספות באמצעות API
Presentation
. מידע נוסף זמין במאמר בנושא מסכים משניים.
עיבוד מואץ של חומרה

איור 8. מרחב צבעים של עיוורון צבעים.
אפשרויות רינדור עם האצת חומרה מספקות דרכים לבצע אופטימיזציה של האפליקציה עבור פלטפורמות החומרה שהיא מיועדת להן, באמצעות אפשרויות שמבוססות על חומרה כמו GPU, שכבות חומרה ו-MSAA (החלקת קצוות עם דגימה מרובה).
מקישים על יצירת הדמיה של מרחב צבעים כדי לשנות את ערכת הצבעים של כל ממשק המשתמש במכשיר. האפשרויות מתייחסות לסוגים של עיוורון צבעים. האפשרויות הן:
- מושבת (אין ערכת צבעים מדומה)
- מונוכרומטיה (מגבילה את ערכת הצבעים לשחור, לבן ואפור)
- דוטרנומליה (משפיעה על הצגת הצבעים אדום וירוק)
- פרוטנומליה (משפיעה על התצוגה של אדום וירוק)
- טריטנומליה (משפיע על התצוגה של כחול וצהוב)
אם מצלמים צילומי מסך במרחב צבעים מדומה, הם נראים רגילים, כאילו לא שיניתם את ערכת הצבעים.
הנה עוד כמה דרכים להשתמש באפשרויות שמבוססות על חומרה:
- הגדרת מעבד GPU לרינדור: שינוי מנוע הגרפיקה Open GL שמוגדר כברירת מחדל למנוע הגרפיקה Open GL Skia.
- אילוץ עיבוד ב-GPU: אילוץ שימוש ב-GPU באפליקציות לציור דו-ממדי אם הן נכתבו ללא עיבוד ב-GPU כברירת מחדל.
- הצגת עדכוני תצוגה של GPU: הצגת כל רכיב במסך שמצויר באמצעות ה-GPU.
- ניפוי באגים של ציור יתר של GPU: מוצג קידוד צבעוני במכשיר כדי שתוכלו לראות כמה פעמים אותו פיקסל צויר באותו פריים. ההדמיה מראה איפה האפליקציה מבצעת יותר עיבוד ממה שנדרש. מידע נוסף זמין במאמר Visualize GPU overdraw (הדמיה של ציור יתר של GPU).
- ניפוי באגים בפעולות באזור שאינו מלבני: השבתה של אזור החיתוך באזור הציור כדי ליצור אזורים לא רגילים (לא מלבניים) באזור הציור. בדרך כלל, אזור החיתוך מונע ציור של כל דבר מחוץ לגבולות של אזור החיתוך העגול.
- אילוץ הפעלת 4x MSAA: הפעלת החלקת קצוות (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
.
כדי להאריך את חיי הסוללה, מפעילים את האפשרות אל תשמור פעילויות כדי להשמיד כל פעילות ברגע שהמשתמש עוזב את התצוגה הראשית של הפעילות.
כדי להשבית את ההגנות של המערכת להצגת תוכן רגיש באפליקציות בסשנים הקרובים של שיתוף המסך, מקישים על השבתת ההגנות של שיתוף המסך. ההגדרה הזו מיועדת לשימוש בהדגמות או בבדיקות בלבד, ולא לשימוש כהגדרה קבועה.