הגדרת Android Studio

‫Android Studio מספק אשפים ותבניות שמאמתים את דרישות המערכת, כמו ערכת פיתוח Java‏ (JDK) וזיכרון RAM זמין, ומגדירים הגדרות ברירת מחדל, כמו אמולציה אופטימלית של מכשיר וירטואלי (AVD) של Android ועדכון של תמונות המערכת. במאמר הזה מתוארות הגדרות נוספות שאפשר לשנות כדי להתאים אישית את השימוש ב-Android Studio.

ב-Android Studio יש גישה לשני קובצי הגדרה דרך התפריט Help:

  • studio.vmoptions: אפשר להתאים אישית את האפשרויות של Java Virtual Machine‏ (JVM) ב-Android Studio, כמו גודל הערימה וגודל המטמון. שימו לב שבמחשבי Linux, יכול להיות שהקובץ הזה ייקרא studio64.vmoptions, בהתאם לגרסת Android Studio שלכם.
  • idea.properties: התאמה אישית של המאפיינים של Android Studio, כמו נתיב התיקייה של התוספים או גודל הקובץ המקסימלי הנתמך.

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

איתור קובצי התצורה

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

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

  • STUDIO_VM_OPTIONS: הגדרת השם והמיקום של קובץ .vmoptions.
  • STUDIO_PROPERTIES: הגדרת השם והמיקום של קובץ .properties.

כדי להגדיר את ערכות ה-JDK שבהן נעשה שימוש, אפשר לעבור אל גרסאות Java ב-Android builds.

התאמה אישית של האפשרויות של המכונה הווירטואלית

הקובץ studio.vmoptions מאפשר לכם להתאים אישית את האפשרויות של JVM ב-Android Studio. כדי לשפר את הביצועים של Android Studio, האפשרות הנפוצה ביותר היא לשנות את גודל הערימה המקסימלי, אבל אפשר גם להשתמש בקובץ studio.vmoptions כדי לשנות הגדרות ברירת מחדל אחרות, כמו גודל הערימה ההתחלתי, גודל המטמון והמתגים של איסוף האשפה ב-Java.

כדי ליצור קובץ studio.vmoptions חדש או לפתוח קובץ קיים, פועלים לפי השלבים הבאים:

  1. לוחצים על עזרה > עריכת אפשרויות של מכונה וירטואלית בהתאמה אישית. אם אף פעם לא ערכתם אפשרויות של מכונה וירטואלית ב-Android Studio, סביבת הפיתוח המשולבת (IDE) תציג לכם בקשה ליצור קובץ studio.vmoptions חדש. לוחצים על יצירה כדי ליצור את הקובץ.
  2. הקובץ studio.vmoptions נפתח בחלון העריכה של Android Studio. עורכים את הקובץ כדי להוסיף את האפשרויות המותאמות אישית של מכונת ה-VM. רשימה מלאה של אפשרויות JVM שאפשר להתאים אישית זמינה בדף האפשרויות של Oracle Java HotSpot VM.

הקובץ studio.vmoptions שיוצרים מתווסף לקובץ studio.vmoptions שמוגדר כברירת מחדל, שנמצא בספרייה bin/ בתוך תיקיית ההתקנה של Android Studio.

אל תערכו ישירות את הקובץ studio.vmoptions שנמצא בתיקיית התוכנה של Android Studio. אפשר לגשת לקובץ כדי לראות את אפשרויות ברירת המחדל של מכונה וירטואלית ב-Android Studio, אבל עריכה רק של קובץ studio.vmoptions שלכם מבטיחה שלא תבטלו הגדרות חשובות של ברירת המחדל ב-Android Studio. לכן, בקובץ studio.vmoptions, כדאי לשנות רק את המאפיינים שחשובים לכם ולאפשר ל-Android Studio להמשיך להשתמש בערכי ברירת המחדל של כל המאפיינים שלא שיניתם.

גודל ערימה מקסימלי

כברירת מחדל, גודל הערימה המקסימלי ב-Android Studio הוא 1,280MB. אם אתם עובדים על פרויקט גדול, או אם במערכת שלכם יש הרבה RAM, אתם יכולים לשפר את הביצועים על ידי הגדלת הגודל המקסימלי של ה-heap לתהליכים של Android Studio, כמו ה-IDE המרכזי, Gradle daemon ו-Kotlin daemon.

‫Android Studio בודק באופן אוטומטי אם אפשר לבצע אופטימיזציה של גודל הערימה, ומודיע לכם אם הוא מזהה שאפשר לשפר את הביצועים.

הגדרות הזיכרון, שמאפשרות להגדיר את כמות ה-RAM המקסימלית לתהליכים של Android Studio.

איור 1. התראה לגבי הגדרות זיכרון מומלצות.

אם אתם משתמשים במערכת 64 ביט עם לפחות 5GB של RAM, אתם יכולים גם לשנות את גודל הערימה בפרויקט באופן ידני. לשם כך, בצע את הצעדים הבאים:

  1. בסרגל התפריטים, לוחצים על File > Settings (קובץ > הגדרות) (ב-macOS, לוחצים על Android Studio > Preferences (העדפות)).
  2. לוחצים על מראה והתנהגות > הגדרות מערכת > הגדרות זיכרון.

    הגדרות הזיכרון, שמאפשרות להגדיר את כמות ה-RAM המקסימלית לתהליכים של Android Studio.

    איור 2. מגדירים את כמות ה-RAM המקסימלית בהגדרות הזיכרון.

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

  4. לוחצים על אישור.

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

ייצוא וייבוא של הגדרות IDE

אתם יכולים לייצא קובץ Settings.jar שמכיל את כל ההגדרות המועדפות של סביבת הפיתוח המשולבת (IDE) שלכם בפרויקט, או רק חלק מהן. אחר כך תוכלו לייבא את קובץ ה-JAR לפרויקטים אחרים שלכם, או להעמיד אותו לרשות הקולגות שלכם כדי שהם יוכלו לייבא אותו לפרויקטים שלהם.

מידע נוסף זמין במאמר שיתוף הגדרות IDE ב-IntelliJ IDEA.

התאמה אישית של מאפייני סביבת הפיתוח המשולבת

קובץ idea.properties מאפשר להתאים אישית את מאפייני סביבת הפיתוח המשולבת (IDE) של Android Studio, כמו הנתיב לתוספים שהמשתמש התקין והגודל המקסימלי של קובץ שסביבת הפיתוח המשולבת תומכת בו. הקובץ idea.properties משולב עם מאפייני ברירת המחדל של סביבת הפיתוח המשולבת, כך שאפשר לציין רק את מאפייני ההחלפה.

כדי ליצור קובץ idea.properties חדש או לפתוח קובץ קיים, פועלים לפי השלבים הבאים:

  1. לוחצים על עזרה > עריכת מאפיינים מותאמים אישית. אם אף פעם לא ערכתם את המאפיינים של סביבת הפיתוח המשולבת, Android Studio יציע לכם ליצור קובץ idea.propertiesחדש. לוחצים על כן כדי ליצור את הקובץ.
  2. הקובץ idea.properties נפתח בחלון העריכה של Android Studio. עורכים את הקובץ כדי להוסיף את מאפייני ה-IDE המותאמים אישית.

קובץ idea.properties הבא כולל מאפיינים נפוצים של סביבת פיתוח משולבת (IDE) שניתן להתאים אישית. רשימה מלאה של המאפיינים מופיעה במאמר בנושא קובץ idea.properties ל-IntelliJ IDEA.

#---------------------------------------------------------------------
# Uncomment this option if you want to customize path to user installed plugins folder. Make sure
# you're using forward slashes.
#---------------------------------------------------------------------
# idea.plugins.path=${idea.config.path}/plugins
#---------------------------------------------------------------------
# Maximum file size (kilobytes) IDE should provide code assistance for.
# The larger the file is, the slower its editor works and higher overall system memory requirements are
# if code assistance is enabled. Remove this property or set to very large number if you need
# code assistance for any files available regardless their size.
#---------------------------------------------------------------------
idea.max.intellisense.filesize=2500
#---------------------------------------------------------------------
# This option controls console cyclic buffer: keeps the console output size not higher than the
# specified buffer size (Kb). Older lines are deleted. In order to disable cycle buffer use
# idea.cycle.buffer.size=disabled
#---------------------------------------------------------------------
idea.cycle.buffer.size=1024
#---------------------------------------------------------------------
# Configure if a special launcher should be used when running processes from within IDE.
# Using Launcher enables "soft exit" and "thread dump" features.
#---------------------------------------------------------------------
idea.no.launcher=false
#---------------------------------------------------------------------
# To avoid too long classpath
#---------------------------------------------------------------------
idea.dynamic.classpath=false
#---------------------------------------------------------------------
# There are two possible values of idea.popup.weight property: "heavy" and "medium".
# If you have WM configured as "Focus follows mouse with Auto Raise", then you have to
# set this property to "medium". It prevents problems with popup menus on some
# configurations.
#---------------------------------------------------------------------
idea.popup.weight=heavy
#---------------------------------------------------------------------
# Use default anti-aliasing in system, i.e. override value of
# "Settings|Editor|Appearance|Use anti-aliased font" option. May be useful when using Windows
# Remote Desktop Connection for instance.
#---------------------------------------------------------------------
idea.use.default.antialiasing.in.editor=false
#---------------------------------------------------------------------
# Disabling this property may lead to visual glitches like blinking and fail to repaint
# on certain display adapter cards.
#---------------------------------------------------------------------
sun.java2d.noddraw=true
#---------------------------------------------------------------------
# Removing this property may lead to editor performance degradation under Windows.
#---------------------------------------------------------------------
sun.java2d.d3d=false
#---------------------------------------------------------------------
# Workaround for slow scrolling in JDK6.
#---------------------------------------------------------------------
swing.bufferPerWindow=false
#---------------------------------------------------------------------
# Removing this property may lead to editor performance degradation under X Window.
#---------------------------------------------------------------------
sun.java2d.pmoffscreen=false
#---------------------------------------------------------------------
# Workaround to avoid long hangs while accessing clipboard under Mac OS X.
#---------------------------------------------------------------------
# ide.mac.useNativeClipboard=True
#---------------------------------------------------------------------
# Maximum size (kilobytes) IDEA will load for showing past file contents -
# in Show Diff or when calculating Digest Diff.
#---------------------------------------------------------------------
# idea.max.vcs.loaded.size.kb=20480

הגדרת סביבת הפיתוח המשולבת למחשבים עם נפח זיכרון נמוך

אם אתם מריצים את Android Studio במחשב עם מפרט נמוך מהמפרט המומלץ (ראו דרישות המערכת), אתם יכולים להתאים אישית את סביבת הפיתוח המשולבת כדי לשפר את הביצועים במחשב שלכם באופן הבא:

  • הקטנת הגודל המקסימלי של ה-heap שזמין ל-Android Studio: מקטינים את הגודל המקסימלי של ה-heap ל-Android Studio ל-512MB. מידע נוסף על שינוי הגודל המקסימלי של הערימה זמין במאמר גודל הערימה המקסימלי.
  • עדכון Gradle והפלאגין של Android Gradle: כדאי לעדכן לגרסאות האחרונות של Gradle והפלאגין של Android Gradle כדי ליהנות משיפורי הביצועים האחרונים. מידע נוסף על עדכון Gradle ופלאגין Android Gradle זמין בהערות על פלאגין Android Gradle.
  • הפעלת מצב חיסכון באנרגיה: הפעלת מצב חיסכון באנרגיה כדי להשבית מספר פעולות ברקע שצורכות הרבה זיכרון וסוללה, כולל הדגשת שגיאות ובדיקות תוך כדי כתיבה, השלמה אוטומטית של קוד בחלון קופץ וקומפילציה אוטומטית מצטברת ברקע. כדי להפעיל את מצב חיסכון בסוללה, לוחצים על קובץ > מצב חיסכון בסוללה.
  • השבתה של בדיקות מיותרות של lint: כדי לשנות את בדיקות ה-lint ש-Android Studio מריץ על הקוד שלכם, מבצעים את הפעולות הבאות:

    1. לוחצים על File > Settings (קובץ > הגדרות) (ב-macOS, לוחצים על Android Studio > Preferences (העדפות)) כדי לפתוח את תיבת הדו-שיח Settings (הגדרות).
    2. בחלונית הימנית, מרחיבים את הקטע עורך ולוחצים על בדיקות.
    3. לוחצים על תיבות הסימון כדי לבחור או לבטל את הבחירה של בדיקות ה-lint בהתאם לפרויקט.
    4. לוחצים על אישור כדי לשמור את השינויים.
  • ניפוי באגים במכשיר פיזי: כדי לשפר את הביצועים הכוללים של Android Studio, כדאי לנפות באגים במכשיר פיזי. ניפוי באגים באמולטור צורך יותר זיכרון מאשר ניפוי באגים במכשיר פיזי.

  • כוללים רק את Google Play Services שנדרשים כתלות: כוללים בפרויקט רק את Google Play Services שנדרשים כתלות. תלות מגדילה את כמות הזיכרון שנדרשת, ולכן הגבלת התלות משפרת את השימוש בזיכרון ואת הביצועים. מידע נוסף זמין במאמר Declare dependencies for Google Play services.

  • הקטנת הגודל המקסימלי של הערימה שזמינה ל-Gradle: כדי להקטין את הגודל המקסימלי של הערימה שזמינה ל-Gradle,צריך לשנות את ערך ברירת המחדל של המאפיין org.gradle.jvmargs בקובץ gradle.properties, כמו שמוצג כאן:

    # Make sure to gradually decrease this value and note
    # changes in performance. Allocating too little memory can
    # also decrease performance.
    org.gradle.jvmargs = -Xmx1536m
    
  • מוודאים שהקומפילציה המקבילה לא מופעלת:‏ Android Studio יכול לקמפל מודולים עצמאיים במקביל, אבל אם יש לכם מערכת עם זיכרון נמוך, כדאי להשאיר את התכונה הזו מושבתת. כדי לבדוק את ההגדרה הזו:

    1. לוחצים על File > ‏Settings (קובץ > הגדרות) (ב-macOS, לוחצים על Android Studio > ‏Preferences (העדפות)) כדי לפתוח את תיבת הדו-שיח Settings (הגדרות).
    2. בחלונית הימנית, מרחיבים את Build, Execution, Deployment (בנייה, הפעלה, פריסה) ואז לוחצים על Compiler (קומפיילר).
    3. מוודאים שהאפשרות Compile independent modules in parallel (קומפילציה של מודולים עצמאיים במקביל) לא מסומנת.
    4. אם ביצעתם שינוי, לוחצים על אישור כדי שהשינוי ייכנס לתוקף.

הגדרת שרת proxy

שרתי Proxy משמשים כנקודות חיבור ביניים בין לקוחות HTTP לבין שרתי אינטרנט, ומוסיפים אבטחה ופרטיות לחיבורים לאינטרנט.

כדי לתמוך בהרצת Android Studio מאחורי חומת אש, צריך להשתמש בדף ההגדרות של שרת ה-proxy מסוג HTTP ב-IDE של Android Studio כדי להגדיר את שרת ה-proxy מסוג HTTP.

כשמריצים את הפלאגין Android Gradle משורת הפקודה או במחשבים שבהם Android Studio לא מותקן, כמו שרתים של שילוב רציף, צריך להגדיר את הגדרות ה-proxy בקובץ ה-build של Gradle.

הגדרת שרת ה-Proxy ב-Android Studio

‫Android Studio תומך בהגדרות של שרת Proxy מסוג HTTP, כך שאפשר להריץ את Android Studio מאחורי חומת אש או רשת מאובטחת. כדי להגדיר את הגדרות ה-Proxy ל-HTTP ב-Android Studio:

  1. בסרגל התפריטים, לוחצים על File > Settings (קובץ > הגדרות). ב-macOS, לוחצים על Android Studio > Preferences (Android Studio > העדפות).
  2. בחלונית הימנית, לוחצים על מראה והתנהגות > הגדרות מערכת > HTTP Proxy. יופיע הדף HTTP Proxy.
  3. בוחרים באפשרות זהה באופן אוטומטי הגדרות Proxy כדי להשתמש בכתובת URL של תצורת Proxy אוטומטית להגדרות ה-Proxy, או באפשרות הגדרת Proxy ידנית כדי להזין את כל ההגדרות בעצמכם. הסבר מפורט על ההגדרות האלה זמין במאמר בנושא שרת Proxy ל-HTTP.
  4. כדי שהשינויים ייכנסו לתוקף, לוחצים על אישור או על החלה.

הגדרות של שרת Proxy ל-HTTP בפלאגין Android ל-Gradle

כשמריצים את הפלאגין של Android משורת הפקודה או במחשבים שבהם Android Studio לא מותקן, צריך להגדיר את הגדרות ה-proxy של הפלאגין של Android Gradle בקובץ ה-build של Gradle.

כדי להגדיר הגדרות HTTP proxy ספציפיות לאפליקציה, מגדירים את הגדרות ה-proxy בקובץ build.gradle לפי הצורך לכל מודול של אפליקציה:

plugins {
  id 'com.android.application'
}

android {
    ...

    defaultConfig {
        ...
        systemProp.http.proxyHost=proxy.company.com
        systemProp.http.proxyPort=443
        systemProp.http.proxyUser=userid
        systemProp.http.proxyPassword=password
        systemProp.http.auth.ntlm.domain=domain
    }
    ...
}

כדי להגדיר שרת proxy ל-HTTP ברמת הפרויקט, מגדירים את שרת ה-proxy בקובץ gradle/gradle.properties:

# Project-wide Gradle settings.
...

systemProp.http.proxyHost=proxy.company.com
systemProp.http.proxyPort=443
systemProp.http.proxyUser=username
systemProp.http.proxyPassword=password
systemProp.http.auth.ntlm.domain=domain

systemProp.https.proxyHost=proxy.company.com
systemProp.https.proxyPort=443
systemProp.https.proxyUser=username
systemProp.https.proxyPassword=password
systemProp.https.auth.ntlm.domain=domain

...

מידע על שימוש במאפייני Gradle להגדרות פרוקסי זמין במדריך למשתמש של Gradle.

אופטימיזציה של הביצועים של Android Studio ב-Windows

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

איך מצמצמים את ההשפעה של תוכנת אנטי-וירוס על מהירות הבנייה

חלק מתוכנות האנטי-וירוס יכולות להפריע לתהליך הבנייה של Android Studio, ולגרום לכך שהבנייה תפעל לאט משמעותית. כשמריצים build ב-Android Studio,‏ Gradle מהדר את המשאבים ואת קוד המקור של האפליקציה, ואז אורז את המשאבים המהודרים יחד בחבילת APK או AAB. במהלך התהליך הזה, נוצרים במחשב הרבה קבצים. אם בתוכנת האנטי-וירוס מופעלת סריקה בזמן אמת, התוכנה יכולה להפסיק את תהליך הבנייה בכל פעם שנוצר קובץ, בזמן שהיא סורקת את הקובץ.

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

ברשימה הבאה מפורט מיקום ברירת המחדל של כל ספרייה ב-Android Studio שאפשר להחריג מסריקה בזמן אמת:

מטמון Gradle
%USERPROFILE%\.gradle
פרויקטים ב-Android Studio
%USERPROFILE%\AndroidStudioProjects
Android SDK
%USERPROFILE%\AppData\Local\Android\SDK

קבצי מערכת של Android Studio

תחביר: %LOCALAPPDATA%\Google\<product><version>

דוגמה: C:\Users\YourUserName\AppData\Local\Google\AndroidStudio4.1

התאמה אישית של מיקומי ספרייה בסביבות שמנוהלות על ידי Group Policy

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

ברשימה הבאה מוסבר איך להתאים אישית את המיקום של כל ספרייה ב-Android Studio, כאשר C:\WorkFolder היא הספרייה שכבר לא נכללת במדיניות הקבוצתית:

מטמון Gradle
מגדירים את משתנה הסביבה GRADLE_USER_HOME כך שיצביע על C:\WorkFolder\.gradle.
פרויקטים ב-Android Studio
מעבירים או יוצרים ספריות של פרויקטים בספריית משנה מתאימה של C:\WorkFolder. לדוגמה, C:\WorkFolder\AndroidStudioProjects.
Android SDK

כדי להתאים אישית את המיקום:

  1. ב-Android Studio, פותחים את תיבת הדו-שיח Settings (הגדרות) (Preferences (העדפות) ב-macOS), ואז עוברים אל Appearance & Behavior > System Settings > Android SDK (מראה והתנהגות > הגדרות מערכת > Android SDK).

  2. משנים את הערך של Android SDK Location ל-C:\WorkFolder\AndroidSDK.

    כדי להימנע מהורדה חוזרת של ה-SDK, מעתיקים את ספריית ה-SDK הקיימת, שנמצאת במיקום %USERPROFILE%\AppData\Local\Android\SDK כברירת מחדל, למיקום החדש.

קובצי מערכת של Android Studio

כדי להתאים אישית את המיקום:

  1. ב-Android Studio, לוחצים על Help > Edit Custom Properties (עזרה > עריכת מאפיינים מותאמים אישית).

    אם אין לכם קובץ idea.properties, תופיע ב-Android Studio בקשה ליצור אותו.

  2. מוסיפים את השורה הבאה לקובץ idea.properties:

    idea.system.path=c:/workfolder/studio/caches/trunk-system