設定 Android Studio

透過 Android Studio 提供的精靈和範本,您可以驗證 Java Development Kit (JDK) 和可用 RAM 等系統需求,並指定預設設定,例如最佳化的預設 Android 虛擬裝置 (AVD) 模擬功能,以及更新後的系統映像檔。本文說明了額外的設定選項,協助您瞭解如何自訂 Android Studio 的使用方式。

在 Android Studio 中,您可以透過「Help」選單存取兩個設定檔:

  • studio.vmoptions:自訂 Android Studio 的 Java 虛擬機器 (JVM) 選項,例如堆積大小和快取大小。請注意,視您的 Android Studio 版本而定,這個檔案在 Linux 電腦上的檔案名稱可能是 studio64.vmoptions
  • idea.properties:自訂 Android Studio 屬性,例如外掛程式資料夾路徑或支援的檔案大小上限。

如需模擬器和裝置專屬的設定與使用方式說明文件,請參閱下列主題:

尋找設定檔

這兩個設定檔都儲存在 Android Studio 的設定目錄中。如要尋找設定目錄,請參閱「目錄」。

您可以使用下列環境變數,指向其他位置的特定覆寫檔案:

  • STUDIO_VM_OPTIONS:設定 .vmoptions 檔案的名稱和位置。
  • STUDIO_PROPERTIES:設定 .properties 檔案的名稱和位置。

您可以造訪「Android 建構作業中的 Java 版本」頁面,設定要使用的 JDK。

自訂 VM 選項

studio.vmoptions 檔案可讓您自訂 Android Studio 的 JVM 選項。如要提升 Android Studio 效能,最常用的調整選項是堆積大小上限,但您也可以使用 studio.vmoptions 檔案覆寫其他預設設定,例如初始堆積大小、快取大小和 Java 垃圾收集開關。

如要建立新的 studio.vmoptions 檔案或開啟現有檔案,請按照下列步驟操作:

  1. 依序按一下「Help」>「Edit Custom VM Options」。如果您從未編輯過 Android Studio 的 VM 選項,IDE 會提示您建立新的 studio.vmoptions 檔案。點選「Create」即可建立檔案。
  2. studio.vmoptions 檔案會在 Android Studio 編輯器視窗中開啟,您可以編輯該檔案,新增自訂 VM 選項。如需可自訂 JVM 選項的完整清單,請參閱 Oracle 的「Java HotSpot VM Options」頁面。

您建立的 studio.vmoptions 檔案會新增至預設的 studio.vmoptions 檔案,後者位於 Android Studio 安裝資料夾中的 bin/ 目錄。

請勿直接編輯 Android Studio 程式資料夾中的 studio.vmoptions 檔案。雖然您可以存取該檔案,來查看 Android Studio 的預設 VM 選項,但只編輯自己的 studio.vmoptions 檔案可確保不會覆寫 Android Studio 的重要預設設定。因此,請僅在您的 studio.vmoptions 檔案中覆寫重視的屬性,讓 Android Studio 繼續為您未更改的屬性使用預設值。

堆積大小上限

根據預設,Android Studio 的堆積大小上限為 1280 MB。如果您處理的是大型專案,或系統有大量 RAM,您可以提高 Android Studio 程序 (例如核心 IDE、Gradle Daemon 以及 Kotlin Daemon) 的堆積大小上限,提升效能。

Android Studio 會自動檢查可能的堆積大小最佳化,如果發現效能可以改善,您就會收到通知。

記憶體設定,可讓您為 Android Studio 程序設定 RAM 容量上限。

圖 1. 關於建議記憶體設定的通知。

如果使用的 64 位元系統至少具備 5 GB 的 RAM,您也可以手動調整專案的堆積大小。步驟如下:

  1. 在選單列中,依序按一下「File」>「Settings」(在 macOS 則為「Android Studio」>「Preferences」)。
  2. 依序按一下「Appearance & Behavior」>「System Settings」>「Memory Settings」

    記憶體設定,可讓您為 Android Studio 程序設定 RAM 容量上限。

    圖 2. 在「Memory Settings」中設定 RAM 容量上限。

  3. 調整堆積大小。

  4. 按一下「Apply」

    如果您變更 IDE 的堆積大小,就必須先重新啟動 Android Studio,才能套用新的記憶體設定。

匯出及匯入 IDE 設定

您可以匯出 Settings.jar 檔案,當中包含專案的所有或部分 IDE 偏好設定。接著可將該 JAR 檔案匯入您的其他專案,以及/或者提供給同事匯入他們的專案。

詳情請參閱 IntelliJ IDEA 的「Share IDE settings」頁面。

自訂 IDE 屬性

idea.properties 檔案可讓您自訂 Android Studio 的 IDE 屬性,例如使用者安裝外掛程式的路徑,以及 IDE 支援的檔案大小上限。idea.properties 檔案會與 IDE 的預設屬性合併,因此您只能指定覆寫屬性。

如要建立新的 idea.properties 檔案或開啟現有檔案,請按照下列步驟操作:

  1. 依序按一下「Help」>「Edit Custom Properties」。如果您從未編輯過 IDE 屬性,Android Studio 會提示您建立新的 idea.properties 檔案。點選「Yes」建立檔案。
  2. idea.properties 檔案會在 Android Studio 編輯器視窗中開啟,您可以編輯該檔案,新增自訂 IDE 屬性。

以下 idea.properties 檔案包含使用者經常自訂的 IDE 屬性。如需完整的屬性清單,請參閱 IntelliJ IDEA 的 idea.properties 檔案說明

#---------------------------------------------------------------------
# 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 時所用的機器低於建議規格 (請參閱系統需求),您可以按照下列說明自訂 IDE,提升機器效能:

  • 縮減 Android Studio 可用的堆積大小上限:將 Android Studio 的堆積大小上限縮減至 512 MB。如要進一步瞭解如何變更堆積大小,請參閱「堆積大小上限」。
  • 更新 Gradle 和 Android Gradle 外掛程式:更新至最新版的 Gradle 和 Android Gradle 外掛程式版本,充分享有最新的效能改善。如要進一步瞭解如何更新 Gradle 及 Android Gradle 外掛程式,請參閱「Android Gradle 外掛程式版本資訊」。
  • 啟用省電模式:啟用省電模式可關閉多項耗用大量記憶體和電力的背景作業,包括醒目顯示錯誤與即時檢查、完成自動彈出式視窗程式碼,以及自動漸進式背景編譯。如要開啟省電模式,請依序點選「File」>「Power Save Mode」
  • 停用不需要的 Lint 檢查:如要變更 Android Studio 在您程式碼中執行的 Lint 檢查功能,請執行下列步驟:

    1. 依序按一下「File」>「Settings」(在 macOS 則為「Android Studio」>「Preferences」),開啟「Settings」對話方塊。
    2. 展開左側窗格中的「Editor」區段,然後按一下「Inspections」
    3. 視需要為專案勾選或取消勾選 Lint 的核取方塊。
    4. 按一下「Apply」或「OK」儲存變更。
  • 在實體裝置上偵錯:如要提升 Android Studio 整體效能,請在實體裝置上偵錯。與實體裝置相比,在模擬器中偵錯會耗用更多記憶體。

  • 僅加入必要的 Google Play 服務做為依附元件:只在專案中加入必要的 Google Play 服務做為依附元件。依附元件會增加所需的記憶體容量,因此減少這類元件可降低記憶體用量及改進效能。詳情請參閱「宣告 Google Play 服務的依附元件」。

  • 縮減 Gradle 可用的堆積大小上限:覆寫 gradle.properties 檔案中的 org.gradle.jvmargs 屬性,降低 Gradle 預設的堆積大小上限值 (1,536 MB),如下所示:

    # 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. 如有進行變更,按一下「Apply」或「OK」讓變更生效。

配置 Proxy 設定

Proxy 是 HTTP 用戶端與網路伺服器之間的中介連線點,可進一步保障網際網路連線的安全與隱私。

如要在防火牆的保護下執行 Android Studio,請前往 Android Studio 的 IDE HTTP Proxy 設定頁面,指定 HTTP Proxy 設定。

透過指令列或未安裝 Android Studio 的機器 (例如持續整合伺服器) 執行 Android Gradle 外掛程式時,請在 Gradle 建構檔案中指定 Proxy 設定。

設定 Android Studio Proxy

Android Studio 支援 HTTP Proxy 設定,因此您可以在防火牆或安全網路的保護下執行 Android Studio。如要在 Android Studio 中設定 HTTP Proxy,請按照下列步驟操作:

  1. 在選單列中,依序按一下「File」>「Settings」(在 macOS 應依序點選「Android Studio」>「Preferences」)。
  2. 在左側窗格中,依序按一下「Appearance & Behavior」>「System Settings」>「HTTP Proxy」。畫面上會顯示 HTTP Proxy 頁面。
  3. 選取「Auto-detect proxy settings」使用 Proxy 設定的自動 Proxy 設定網址,或是選取「Manual proxy configuration」,自行輸入各項設定。如需這些設定的詳細說明,請參閱「HTTP Proxy」。
  4. 按一下「Apply」或「OK」讓變更生效。

Gradle HTTP Proxy 設定的 Android 外掛程式

利用指令列或未安裝 Android Studio 的機器執行 Android 外掛程式時,請在 Gradle 建構檔案中指定 Android 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
    }
    ...
}

如果是適用於整個專案的 HTTP Proxy 設定,請在 gradle/gradle.properties 檔案中進行 Proxy 設定:

# 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 使用手冊

在 Windows 裝置上最佳化 Android Studio 效能

Windows 上的 Android Studio 效能可能會受到多種因素影響。本節說明如何最佳化 Android Studio 設定,方可在 Windows 上獲得最佳效能。

將防毒軟體對建構速度的影響降至最低

某些防毒軟體可能會干擾 Android Studio 建構程序,導致建構作業的運作速度明顯變慢。在 Android Studio 中執行建構作業時,Gradle 會編譯應用程式的資源和原始碼,然後將編譯後的資源一起封裝在 APK 或 AAB 中。在這個過程中,系統會在您的電腦上建立許多檔案。如果防毒軟體已啟用即時掃描功能,每當檔案建立完成後,該軟體都會掃描檔案,並且可能強制要求暫停建構程序。

如要避免這個問題,您可以在防毒軟體中,將某些目錄從即時掃描範圍排除。如果您使用 Windows,版本分析器可協助找出並排除應從主動掃描作業中除去的目錄。

以下清單列出每個 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」對話方塊 (macOS 使用者應開啟「Preferences」對話方塊),然後依序前往「Appearance & Behavior」>「System Settings」>「Android SDK」

  2. 將「Android SDK Location」的值變更為 C:\WorkFolder\AndroidSDK

    為避免再次下載 SDK,請將預設位於 %USERPROFILE%\AppData\Local\Android\SDK 的現有 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