Android Studio 提供诸多向导和模板,可用于验证系统要求(例如 Java 开发工具包 (JDK) 和可用内存)和配置默认设置(例如优化的默认 Android Virtual Device (AVD) 模拟和更新的系统映像)。本文件介绍了您可能想要使用的其他配置设置,以便您自定义对 Android Studio 的使用方式。
Android Studio 通过 Help 菜单提供对两个配置文件的访问:
studio.vmoptions
:自定义 Studio Java 虚拟机 (JVM) 的选项,如堆内存和缓存大小。请注意,对于 Linux 机器,此文件可能命名为 studio64.vmoptions
,具体取决于您的 Android Studio 版本。idea.properties
:自定义 Android Studio 的属性,如插件文件夹路径或最大支持文件大小。有关模拟器和设备设置与使用的特定文档,请参阅管理虚拟设备、使用硬件设备和 OEM USB 驱动程序。
两个配置文件都存储在 Android Studio 的配置文件夹中。文件夹名称取决于 Studio 版本。例如,Android Studio 2.2 的文件夹名称为 AndroidStudio2.2
。此文件夹的位置取决于您的操作系统:
%USERPROFILE%\.<CONFIGURATION_FOLDER>/
~/Library/Preferences/<CONFIGURATION_FOLDER>/
~/.<CONFIGURATION_FOLDER>/
您也可以使用以下环境变量指向其他位置的特定替换文件:
STUDIO_VM_OPTIONS
:设置 .vmoptions
文件的名称和位置STUDIO_PROPERTIES
:设置 .properties
文件的名称和位置STUDIO_JDK
:设置运行 Studio 所使用的 JDK通过 studio.vmoptions
文件,您可以自定义适用于 Android Studio 的 JVM 的选项。为了提高 Studio 的性能,最常用的调节选项是最大堆内存,但您也可以使用 studio.vmoptions
文件替换其他默认设置,如初始堆内存、缓存大小和 Java 垃圾回收开关。
要新建 studio.vmoptions
文件或打开现有文件,请执行以下步骤:
studio.vmoptions
文件。点击 Yes 创建文件。studio.vmoptions
文件将在 Android Studio 的编辑器窗口中打开。编辑文件以添加您自己的自定义 VM 选项。如需可自定义 JVM 选项的完整列表,请参阅 Oracle 的 Java HotSpot VM 选项页。您创建的 studio.vmoptions
文件将添加至默认 studio.vmoptions
文件,后者位于 Android Studio 安装文件夹内的 bin/
目录中。
请注意,切勿直接编辑 Android Studio 程序文件夹内的 studio.vmoptions
文件。尽管您可以访问该文件来查看 Studio 的默认 VM 选项,但仅编辑自己的 studio.vmoptions
文件可确保您不会替换 Android Studio 的重要默认设置。因此,在您的 studio.vmoptions
文件中,请仅替换您关注的属性,使 Android Studio 可以继续使用未更改的任何属性的默认值。
默认情况下,Android Studio 的最大堆内存为 1280MB。如果您要处理大项目,或者您的系统有大量 RAM 可用,您可以通过在 Android Studio 的 VM 选项中增加最大堆内存来提高性能。如果系统的内存有限,您可能希望降低最大堆内存。
要更改最大堆内存,请执行以下步骤:
studio.vmoptions
文件。studio.vmoptions
文件添加一个行,使用语法 -XmxheapSize
设置最大堆内存。您选择的大小应该基于项目大小以及机器上的可用 RAM。作为基准,如果您有 4GB 以上的 RAM 和中等大小的项目,则应该将最大堆内存设置为 2GB 或更高。以下行可将最大堆内存设置为 2GB: -Xmx2g
studio.vmoptions
文件所做的更改,然后重新启动 Android Studio 以使更改生效。jps -lvm
您将看到机器上正在运行的工具 JVM 的列表,包括每台 JVM 的完整包名称和传入的参数。找到与您的 Android Studio 实例对应的项。该项应该以 -Didea.paths.selector=AndroidStudio[Version]
结尾。对于此 JVM,您应该看到两个以 -Xmx
开头的参数:一个采用默认值 1280mb,另一个采用新值,如图 1 所示。
图 1. 显示 Android Studio JVM 当前参数的终端输出。
-Xmx
参数显示默认最大堆内存,在本例中为 1280m。-Didea.paths.selector
显示目前正在运行的 Android Studio 版本。-Xmx
参数显示新的自定义最大堆内存。请注意,该参数后跟您之前创建的自定义 studio.vmoptions
文件的位置。您可以导出一个设置 JAR 文件 (Settings.jar
),其中包含项目的所有或部分首选 IDE 设置。然后,您可以将 JAR 文件导入其他项目和/或使 JAR 文件可供您的同事导入至其项目。
如需了解详细信息,请参阅 IntelliJ IDEA 中的导出和导入设置。
通过 idea.properties
文件,您可以自定义 Android Studio 的 IDE 属性,如用户安装插件的路径以及 IDE 支持的最大文件大小。idea.properties
文件与 IDE 的默认属性合并,以便您可以仅指定替换属性。
要新建 idea.properties
文件或打开现有文件,请执行以下步骤:
idea.properties
文件。点击 Yes 创建文件。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 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,则可以按如下方式自定义 IDE 以提高机器性能:
Instant Run 是 Run 和 Debug
命令的行为,可以大幅缩短应用更新的间隔时间。尽管首次构建可能需要花费较长的时间,Instant Run 在向应用推送后续更新时则无需构建新的 APK,因此,这样可以更快地看到更改。
默认情况下,Android Studio 会为使用适用于 Gradle 的 Android 插件 2.0.0 及更高版本构建的项目启用 Instant Run。您可以通过修改项目的一些设置提高使用 Instant Run 的构建性能。有关针对 Instant Run 配置项目的详细信息,请参阅针对 Instant Run 配置和优化您的项目。
最新 OpenJDK 的副本与 Android Studio 2.2 和更高版本捆绑提供,这是我们建议用于 Android 项目的 JDK 版本。要使用捆绑的 JDK,请继续执行以下操作:
默认情况下,用于编译项目的 Java 语言版本基于项目的 compileSdkVersion
(因为不同 Android 版本支持不同版本的 Java)。如有必要,您可以通过将以下 CompileOptions {}
代码块添加到 build.gradle
文件来替换此默认 Java 版本:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
}
}
如需了解有关在何处定义 compileSdkVersion
的详细信息,请参阅模块级构建文件。
代理作为 HTTP 客户端和 Web 服务器之间的中间连接点,可提高互联网连接的安全性和隐私性。
要支持在防火墙后面运行 Android Studio,请为 Android Studio IDE 设置代理设置。使用 Android Studio IDE HTTP 代理设置页面设置 Android Studio 的 HTTP 代理。
若从命令行或在未安装 Android Studio 的机器(例如持续性集成服务器)上运行适用于 Gradle 的 Android 插件,则应在 Gradle 构建文件中设置代理设置。
注:在初始安装 Android Studio 程序包后,可以通过互联网访问或脱机运行 Android Studio。但是,Android Studio 设置向导同步、第三方库访问、访问远程存储库、Gradle 初始化和同步以及 Android Studio 版本更新需要互联网连接。
Android Studio 支持 HTTP 代理设置,因此您可以在防火墙后面或使用安全网络运行 Android Studio。要在 Android Studio 中设置 HTTP 代理,请执行以下操作:
若从命令行或在未安装 Android Studio 的机器上运行 Android 插件,则应在 Gradle 构建文件中设置适用于 Gradle 的 Android 插件代理设置。
对于应用程序特定的 HTTP 代理设置,请根据各应用程序模块的要求在 build.gradle
文件中设置代理设置。
apply plugin: '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 代理设置,请在 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 时,Android Studio IDE HTTP 代理设置页面中的设置将重写 gradle.properties 文件中的 HTTP 代理设置。