הגדרת 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, האפשרות הנפוצה ביותר היא לשנות את הגודל המקסימלי של ה-heap, אבל אפשר גם להשתמש בקובץ studio.vmoptions כדי לשנות הגדרות ברירת מחדל אחרות, כמו הגודל ההתחלתי של ה-heap, גודל המטמון והמתגים של איסוף האשפה ב-Java.

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

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

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

אל תערכו ישירות את הקובץ studio.vmoptions שנמצא בתיקיית התוכנה של Android Studio. אפשר לגשת לקובץ כדי לראות את אפשרויות ברירת המחדל של מכונה וירטואלית ב-Android Studio, אבל כדי לא לשנות הגדרות ברירת מחדל חשובות של Android Studio, צריך לערוך רק את הקובץ studio.vmoptions שלכם. לכן, בקובץ 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. בסרגל התפריטים, לוחצים על קובץ > הגדרות (ב-macOS, לוחצים על Android Studio > העדפות).
  2. לוחצים על מראה והתנהגות > הגדרות מערכת > הגדרות זיכרון.

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

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

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

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

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

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

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

  1. עוברים אל הגדרות > גיבוי וסנכרון.

    איור 3. גיבוי וסנכרון בתפריט ההגדרות של Studio.
  2. בוחרים באפשרות Google כדי להשתמש בנפח האחסון בחשבון Google לסינכרון בין התקנות של Android Studio, או באפשרות Jetbrains כדי להשתמש בחשבון Jetbrains לסינכרון בין התקנות של IntelliJ ו-Android Studio. בכל מקרה, Android Studio פותח חלון בדפדפן שבו אפשר לספק הרשאה.

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

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

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

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

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

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

אם אתם מריצים את 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 לא מותקן, כמו שרתים של אינטגרציה רציפה (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. בחלונית הימנית, לוחצים על מראה והתנהגות > הגדרות מערכת > HTTP Proxy. יופיע הדף Proxy ל-HTTP.
  3. בוחרים באפשרות זהה באופן אוטומטי הגדרות לשרת proxy כדי להשתמש בתצורת proxy אוטומטית להגדרות לשרת proxy, או באפשרות הגדרת proxy ידנית כדי להזין את כל ההגדרות בעצמכם. הסבר מפורט על ההגדרות האלה מופיע במאמר בנושא Proxy ל-HTTP.
  4. כדי שהשינויים ייכנסו לתוקף, לוחצים על אישור או על החלה.

הגדרות שרת proxy ל-HTTP בפלאגין Android ל-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.

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

חלק מתוכנות האנטי-וירוס יכולות להפריע לתהליך הבנייה ב-Android Studio, ולגרום לכך שהבנייה תפעל לאט משמעותית. כשמריצים 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

התאמה אישית של מיקומי ספריות בסביבות שמנוהלות על ידי 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