הגדרת Android Studio

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

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

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

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

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

שני קובצי התצורה מאוחסנים בספריית התצורה של Android Studio. במאמר ספריות מוסבר איך למצוא את ספריית התצורה.

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

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

כדי להגדיר באילו מפתחות JDK אפשר להשתמש, נכנסים לגרסאות Java בגרסאות build של Android.

התאמה אישית של אפשרויות ה-VM

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

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

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

הקובץ 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 במערכת, תוכלו לשפר את הביצועים על ידי הגדלת גודל האוסף המקסימלי של תהליכים ב-Android Studio, כמו IDE הליבה, הדימון של Gradle והדימון של Kotlin.

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

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

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

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

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

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

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

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

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

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

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

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

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

התאמה אישית של נכסי סביבת הפיתוח המשולבת (IDE)

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

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

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

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

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

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

  • מומלץ להקטין את גודל הערימה המקסימלי שזמין ל-Gradle: הפחתת הערך של גודל הערימה המקסימלי של Gradle מברירת המחדל שלו (1,536MB) על ידי שינוי המאפיין 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. לוחצים על קובץ > הגדרות (ב-macOS, Android Studio > העדפות) כדי לפתוח את תיבת הדו-שיח הגדרות.
    2. בחלונית הימנית, מרחיבים את האפשרות Build, Execution, Deployment ולוחצים על Compiler.
    3. מוודאים שהאפשרות Compile independent modules in parallel לא מסומנת.
    4. אם ביצעתם שינוי, לוחצים על אישור או על אישור כדי שהשינוי ייכנס לתוקף.

קביעת הגדרות לשרת proxy

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

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

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

הגדרת שרת ה-proxy של Android Studio

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

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

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

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

כדי להגדיר הגדרות של שרת proxy ל-HTTP לאפליקציה ספציפית, מגדירים את הגדרות ה-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 להגדרות שרת proxy זמין במדריך למשתמש של Gradle.

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

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

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

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

כדי למנוע את הבעיה הזו, אפשר להחריג ספריות מסוימות מהסריקה בזמן אמת בתוכנת האנטי-וירוס. ב-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

התאמה אישית של מיקומי ספריות בסביבות שבהן המדיניות הקבוצתית שולטת

אם מדיניות קבוצתית מגבילה את הספריות שאפשר להחריג מהסריקה בזמן אמת במחשב, אפשר להעביר את הספריות של 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.

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

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

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

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

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

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

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

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