• 配置 Android Studio
    • 查找配置文件
    • 自定义 VM 选项
      • 最大堆内存
    • 导出和导入 IDE 设置
    • 自定义 IDE 属性
    • 针对低内存机器配置 IDE
    • 针对 Instant Run 配置您的项目
    • 设置 JDK 版本
    • 设置代理设置
      • 设置 Android Studio 代理
      • 适用于 Gradle 的 Android 插件 HTTP 代理设置

    配置 Android Studio

    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。此文件夹的位置取决于您的操作系统:

    • Windows:%USERPROFILE%.<CONFIGURATION_FOLDER>/
    • Mac:~/Library/Preferences/<CONFIGURATION_FOLDER>/
    • Linux:~/.<CONFIGURATION_FOLDER>/
      您也可以使用以下环境变量指向其他位置的特定替换文件:

    • STUDIO_VM_OPTIONS:设置 .vmoptions 文件的名称和位置

    • STUDIO_PROPERTIES:设置 .properties 文件的名称和位置
    • STUDIO_JDK:设置运行 Studio 所使用的 JDK

    自定义 VM 选项

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

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

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

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

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

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

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

    导出和导入 IDE 设置

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

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

    自定义 IDE 属性

    通过 idea.properties 文件,您可以自定义 Android Studio 的 IDE 属性,如用户安装插件的路径以及 IDE 支持的最大文件大小。idea.properties 文件与 IDE 的默认属性合并,以便您可以仅指定替换属性。

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

    • 点击 Help > Edit Custom Properties。如果您之前从未编辑过 IDE 属性,Android Studio 将提示您新建一个 idea.properties 文件。点击 Yes 创建文件。
    • 此时 idea.properties 文件将在 Android Studio 的编辑器窗口中打开。编辑文件以添加您自己的自定义 IDE 属性。
      以下 idea.properties 文件包括通常自定义的 IDE 属性。如需获得属性的完整列表,请参阅 IntelliJ IDEA 的 idea.properties 文件。
    1. #---------------------------------------------------------------------
    2. # Uncomment this option if you want to customize path to user installed plugins folder. Make sure
    3. # you're using forward slashes.
    4. #---------------------------------------------------------------------
    5. # idea.plugins.path=${idea.config.path}/plugins
    6. #---------------------------------------------------------------------
    7. # Maximum file size (kilobytes) IDE should provide code assistance for.
    8. # The larger file is the slower its editor works and higher overall system memory requirements are
    9. # if code assistance is enabled. Remove this property or set to very large number if you need
    10. # code assistance for any files available regardless their size.
    11. #---------------------------------------------------------------------
    12. idea.max.intellisense.filesize=2500
    13. #---------------------------------------------------------------------
    14. # This option controls console cyclic buffer: keeps the console output size not higher than the
    15. # specified buffer size (Kb). Older lines are deleted. In order to disable cycle buffer use
    16. # idea.cycle.buffer.size=disabled
    17. #---------------------------------------------------------------------
    18. idea.cycle.buffer.size=1024
    19. #---------------------------------------------------------------------
    20. # Configure if a special launcher should be used when running processes from within IDE.
    21. # Using Launcher enables "soft exit" and "thread dump" features
    22. #---------------------------------------------------------------------
    23. idea.no.launcher=false
    24. #---------------------------------------------------------------------
    25. # To avoid too long classpath
    26. #---------------------------------------------------------------------
    27. idea.dynamic.classpath=false
    28. #---------------------------------------------------------------------
    29. # There are two possible values of idea.popup.weight property: "heavy" and "medium".
    30. # If you have WM configured as "Focus follows mouse with Auto Raise" then you have to
    31. # set this property to "medium". It prevents problems with popup menus on some
    32. # configurations.
    33. #---------------------------------------------------------------------
    34. idea.popup.weight=heavy
    35. #---------------------------------------------------------------------
    36. # Use default anti-aliasing in system, i.e. override value of
    37. # "Settings|Editor|Appearance|Use anti-aliased font" option. May be useful when using Windows
    38. # Remote Desktop Connection for instance.
    39. #---------------------------------------------------------------------
    40. idea.use.default.antialiasing.in.editor=false
    41. #---------------------------------------------------------------------
    42. # Disabling this property may lead to visual glitches like blinking and fail to repaint
    43. # on certain display adapter cards.
    44. #---------------------------------------------------------------------
    45. sun.java2d.noddraw=true
    46. #---------------------------------------------------------------------
    47. # Removing this property may lead to editor performance degradation under Windows.
    48. #---------------------------------------------------------------------
    49. sun.java2d.d3d=false
    50. #---------------------------------------------------------------------
    51. # Workaround for slow scrolling in JDK6
    52. #---------------------------------------------------------------------
    53. swing.bufferPerWindow=false
    54. #---------------------------------------------------------------------
    55. # Removing this property may lead to editor performance degradation under X Window.
    56. #---------------------------------------------------------------------
    57. sun.java2d.pmoffscreen=false
    58. #---------------------------------------------------------------------
    59. # Workaround to avoid long hangs while accessing clipboard under Mac OS X.
    60. #---------------------------------------------------------------------
    61. # ide.mac.useNativeClipboard=True
    62. #---------------------------------------------------------------------
    63. # Maximum size (kilobytes) IDEA will load for showing past file contents -
    64. # in Show Diff or when calculating Digest Diff
    65. #---------------------------------------------------------------------
    66. # idea.max.vcs.loaded.size.kb=20480
    67.  

    针对低内存机器配置 IDE

    如果您正在低于建议规格(请参阅系统要求)的机器上运行 Android Studio,则可以按如下方式自定义 IDE 以提高机器性能:

    • 减小 Android Studio 可用的最大堆内存:将 Android Studio 的最大堆内存减小至 512Mb。如需了解有关更改最大堆内存的详细信息,请参阅最大堆内存。
    • 更新 Gradle 和适用于 Gradle 的 Android 插件:更新至最新版本的 Gradle 和适用于 Gradle 的 Android 插件,确保您能利用最新的性能改进。如需了解有关更新 Gradle 和适用于 Gradle 的 Android 插件的详细信息,请参阅适用于 Gradle 的 Android 插件版本说明。
    • 启用节能模式:启用节能模式会关闭一系列消耗大量内存和电池的后台操作,包括错误突出显示和动态检查、自动弹出式代码完成和自动增量式后台编译。要打开节能模式,请点击 File > Power Save Mode
    • 停用不必要的 lint 检查:要更改 Android Studio 在您的代码上运行的 lint 检查,请继续执行以下操作:
      • 点击 File > Settings(在 Mac 中,点击 Android Studio > Preferences)以打开 Settings 对话框。
      • 在左侧窗格中,展开 Editor 部分并点击 Inspections
      • 点击复选框以选择或取消选择项目适用的 lint 检查。
      • 点击 ApplyOK 以保存所做的更改。
    • 在物理设备上调试:在模拟器上调试使用的内存比在物理设备上调试使用的内存更多,因此您可以通过在物理设备上调试来提高 Android Studio 的总体性能。
    • 仅将必要的 Google Play 服务作为依赖项包括在内:将 Google Play 服务作为依赖项包括在项目中可提高必要的内存量。仅包括必要的依赖项以提高内存利用率和性能。如需了解详细信息,请参阅将 Google Play 服务添加到您的项目。
    • 打开 Gradle 的离线模式:如果您的带宽有限,请打开离线模式,以防 Gradle 在您构建期间尝试下载丢失的依赖项。离线模式打开时,Gradle 会在丢失任何依赖项时发布构建故障,而不会尝试下载它们。要打开离线模式,请继续执行以下操作:
      • 点击 File > Settings(在 Mac 中,点击 Android Studio > Preferences)以打开 Settings 对话框。
      • 在左侧窗格中,展开 Build, Execution, Deployment,然后点击 Gradle
      • 在 Global Gradle 设置下,选中 Offline work 复选框。
      • 点击 ApplyOK 以使更改生效。
    • 不要启用并行编译:Android Studio 可以并行编译独立模块,但如果您具有低内存系统,则不应启用此功能。要选中此设置,请继续执行以下操作:
      • 点击 File > Settings(在 Mac 中,点击 Android Studio > Preferences)以打开 Settings 对话框。
      • 在左侧窗格中,展开 Build, Execution, Deployment,然后点击 Compiler
      • 确保 Compile independent modules in parallel 选项未选中。
      • 如果您进行了更改,请点击 ApplyOK 以使更改生效。

    针对 Instant Run 配置您的项目

    Instant Run 是 Run配置 Android Studio - Configure the IDE - 图2Debug配置 Android Studio - Configure the IDE - 图3 命令的行为,可以大幅缩短应用更新的间隔时间。尽管首次构建可能需要花费较长的时间,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,请继续执行以下操作:

    • 在 Android Studio 中打开您的项目,然后在菜单栏中选择 File > Project Structure
    • SDK Location 页面中的 JDK location 下方,选中 Use embedded JDK 复选框。
    • 点击 OK
      默认情况下,用于编译项目的 Java 语言版本基于项目的 compileSdkVersion (因为不同 Android 版本支持不同版本的 Java)。如有必要,您可以通过将以下 CompileOptions {} 代码块添加到 build.gradle 文件来替换此默认 Java 版本:
    1. android {
    2. compileOptions {
    3. sourceCompatibility JavaVersion.VERSION_1_6
    4. targetCompatibility JavaVersion.VERSION_1_6
    5. }
    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 代理,请执行以下操作:

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

    适用于 Gradle 的 Android 插件 HTTP 代理设置

    若从命令行或在未安装 Android Studio 的机器上运行 Android 插件,则应在 Gradle 构建文件中设置适用于 Gradle 的 Android 插件代理设置。

    对于应用程序特定的 HTTP 代理设置,请根据各应用程序模块的要求在 build.gradle 文件中设置代理设置。

    1. apply plugin: 'com.android.application'
    2.  
    3. android {
    4. ...
    5.  
    6. defaultConfig {
    7. ...
    8. systemProp.http.proxyHost=proxy.company.com
    9. systemProp.http.proxyPort=443
    10. systemProp.http.proxyUser=userid
    11. systemProp.http.proxyPassword=password
    12. systemProp.http.auth.ntlm.domain=domain
    13. }
    14. ...
    15. }

    对于整个项目的 HTTP 代理设置,请在 gradle/gradle.properties 文件中设置代理设置。

    1. # Project-wide Gradle settings.
    2. ...
    3.  
    4. systemProp.http.proxyHost=proxy.company.com
    5. systemProp.http.proxyPort=443
    6. systemProp.http.proxyUser=username
    7. systemProp.http.proxyPassword=password
    8. systemProp.http.auth.ntlm.domain=domain
    9.  
    10. systemProp.https.proxyHost=proxy.company.com
    11. systemProp.https.proxyPort=443
    12. systemProp.https.proxyUser=username
    13. systemProp.https.proxyPassword=password
    14. systemProp.https.auth.ntlm.domain=domain
    15.  
    16. ...

    有关使用 Gradle 属性进行代理设置的信息,请参阅 Gradle 用户指南。

    :在使用 Android Studio 时,Android Studio IDE HTTP 代理设置页面中的设置将重写 gradle.properties 文件中的 HTTP 代理设置。