Skip to content

Most visited

Recently visited

navigation

配置 Android Studio

Android Studio 提供诸多向导和模板,可用于验证系统要求(例如 Java 开发工具包 (JDK) 和可用内存)和配置默认设置(例如优化的默认 Android Virtual Device (AVD) 模拟和更新的系统映像)。本文件介绍了您可能想要使用的其他配置设置,以便您自定义对 Android Studio 的使用方式。

Android Studio 通过 Help 菜单提供对两个配置文件的访问:

有关模拟器和设备设置与使用的特定文档,请参阅管理虚拟设备使用硬件设备OEM USB 驱动程序

查找配置文件

两个配置文件都存储在 Android Studio 的配置文件夹中。文件夹名称取决于 Studio 版本。例如,Android Studio 2.2 的文件夹名称为 AndroidStudio2.2。此文件夹的位置取决于您的操作系统:

您也可以使用以下环境变量指向其他位置的特定替换文件:

自定义 VM 选项

通过 studio.vmoptions 文件,您可以自定义适用于 Android Studio 的 JVM 的选项。为了提高 Studio 的性能,最常用的调节选项是最大堆内存,但您也可以使用 studio.vmoptions 文件替换其他默认设置,如初始堆内存、缓存大小和 Java 垃圾回收开关。

要新建 studio.vmoptions 文件或打开现有文件,请执行以下步骤:

  1. 点击 Help > Edit Custom VM Options。如果您之前从未编辑过适用于 Android Studio 的 VM 选项,IDE 将提示您新建一个 studio.vmoptions 文件。点击 Yes 创建文件。
  2. 此时 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 选项中增加最大堆内存来提高性能。如果系统的内存有限,您可能希望降低最大堆内存。

要更改最大堆内存,请执行以下步骤:

  1. 点击 Help > Edit Custom VM Options 以打开您的 studio.vmoptions 文件。
  2. studio.vmoptions 文件添加一个行,使用语法 -XmxheapSize 设置最大堆内存。您选择的大小应该基于项目大小以及机器上的可用 RAM。作为基准,如果您有 4GB 以上的 RAM 和中等大小的项目,则应该将最大堆内存设置为 2GB 或更高。以下行可将最大堆内存设置为 2GB:
    -Xmx2g
  3. 保存对 studio.vmoptions 文件所做的更改,然后重新启动 Android Studio 以使更改生效。
  4. 要确认新的最大堆内存,请打开命令行,然后键入以下命令:
    jps -lvm

    您将看到机器上正在运行的工具 JVM 的列表,包括每台 JVM 的完整包名称和传入的参数。找到与您的 Android Studio 实例对应的项。该项应该以 -Didea.paths.selector=AndroidStudio[Version] 结尾。对于此 JVM,您应该看到两个以 -Xmx 开头的参数:一个采用默认值 1280mb,另一个采用新值,如图 1 所示。

    图 1. 显示 Android Studio JVM 当前参数的终端输出。

    1. -Xmx 参数显示默认最大堆内存,在本例中为 1280m。
    2. -Didea.paths.selector 显示目前正在运行的 Android Studio 版本。
    3. -Xmx 参数显示新的自定义最大堆内存。请注意,该参数后跟您之前创建的自定义 studio.vmoptions 文件的位置。

导出和导入 IDE 设置

您可以导出一个设置 JAR 文件 (Settings.jar),其中包含项目的所有或部分首选 IDE 设置。然后,您可以将 JAR 文件导入其他项目和/或使 JAR 文件可供您的同事导入至其项目。

如需了解详细信息,请参阅 IntelliJ IDEA 中的导出和导入设置

自定义 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 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 以提高机器性能:

针对 Instant Run 配置您的项目

Instant Run 是 Run Debug 命令的行为,可以大幅缩短应用更新的间隔时间。尽管首次构建可能需要花费较长的时间,Instant Run 在向应用推送后续更新时则无需构建新的 APK,因此,这样可以更快地看到更改。

默认情况下,Android Studio 会为使用适用于 Gradle 的 Android 插件 2.0.0 及更高版本构建的项目启用 Instant Run。您可以通过修改项目的一些设置提高使用 Instant Run 的构建性能。有关针对 Instant Run 配置项目的详细信息,请参阅针对 Instant Run 配置和优化您的项目

设置 JDK 版本

最新 OpenJDK 的副本与 Android Studio 2.2 和更高版本捆绑提供,这是我们建议用于 Android 项目的 JDK 版本。要使用捆绑的 JDK,请继续执行以下操作:

  1. 在 Android Studio 中打开您的项目,然后在菜单栏中选择 File > Project Structure
  2. SDK Location 页面中的 JDK location 下方,选中 Use embedded JDK 复选框。
  3. 点击 OK

默认情况下,用于编译项目的 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 代理

Android Studio 支持 HTTP 代理设置,因此您可以在防火墙后面或使用安全网络运行 Android Studio。要在 Android Studio 中设置 HTTP 代理,请执行以下操作:

  1. 从菜单栏中点击 File > Settings(在 Mac 中,点击 Android Studio > Preferences)。
  2. 在左侧窗格中,点击 Appearance & Behavior > System Settings > HTTP Proxy。此时将出现 HTTP Proxy 页面。
  3. 选择 Auto-detect proxy settings 以使用自动代理配置 URL 来配置代理设置,或选择 Manual proxy configuration 以自行输入每一项设置。有关这些设置的详细说明,请参阅 HTTP 代理
  4. 点击 ApplyOK 以使更改生效。

适用于 Gradle 的 Android 插件 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 代理设置。

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.