当前位置: 首页 > backend >正文

个性化的配置AndroidStudio

Android Studio 提供诸多向导和模板,可用于验证 Java 开发套件 (JDK) 和可用 RAM 等系统要求,以及配置默认设置,例如经过优化的默认 Android 虚拟设备 (AVD) 模拟和更新的系统映像。本文档介绍了可用于自定义 Android Studio 使用方式的其他配置设置。

可以通过 Android Studio 的 Help 菜单访问下面这两个配置文件:

  • studio.vmoptions:自定义 Android Studio 的 Java 虚拟机 (JVM) 选项,例如堆大小和缓存大小。请注意,在 Linux 计算机上,此文件可能会命名为 studio64.vmoptions,具体取决于使用的 Android Studio 版本。
  • idea.properties:自定义 Android Studio 的属性,例如插件文件夹路径或支持的文件大小上限。

如需模拟器和设备的设置及使用方式的相关文档,请参阅以下主题:

  • 创建和管理虚拟设备
  • 在硬件设备上运行应用
  • 安装原始设备制造商 (OEM) USB 驱动程序

查找配置文件

两个配置文件都存储在 Android 的配置目录中 Studio。如需查找配置目录,请参阅 目录。

注意:如需快速找到配置目录,请在 Android Studio 中依次前往 Help > Edit Custom VM Options 或 Help > Edit Custom Properties。系统随即会打开一个配置文件。检查 来找到配置目录。

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

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

可以访问 Android build 中的 Java 版本,配置要使用的 JDK。

自定义虚拟机选项

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

如需创建新的 studio.vmoptions 文件或打开现有文件,请执行以下操作:

  1. 依次点击 Help > Edit Custom VM Options。如果之前从未修改过 Android Studio 的虚拟机选项,Android Studio 将提示新建一个 studio.vmoptions 文件。点击 Create 以创建文件。
  2. studio.vmoptions 文件会在 Android Studio 的编辑器窗口中打开。修改该文件以添加自己的自定义虚拟机选项。如需可自定义 JVM 选项的完整列表,请参阅 Oracle 的 Java HotSpot 虚拟机选项页面。

创建的 studio.vmoptions 文件将添加到默认的 studio.vmoptions 文件中,后者位于 Android Studio 安装文件夹内的 bin/ 目录中。

请勿直接修改 Android Studio 程序文件夹内的 studio.vmoptions 文件。尽管可以访问该文件以查看 Android Studio 的默认虚拟机选项,但仅修改自己的 studio.vmoptions 文件可确保不会替换 Android Studio 的重要默认设置。因此,在的 studio.vmoptions 文件中,请仅替换关注的属性,以便 Android Studio 继续为未更改的所有属性使用默认值。

堆大小上限

默认情况下,Android Studio 的最大堆大小为 1280MB。如果处理的是大项目,或者的系统有大量 RAM 可用,可以通过增大 Android Studio 进程(例如核心 IDE、Gradle 守护程序和 Kotlin 守护程序)的最大堆大小以提升性能。

Android Studio 会自动检查可采取的堆大小优化措施,并在检测到性能可以提升时通知。

如果使用的是 64 位系统并配有不少于 5 GB 的 RAM,还可以手动调整项目的堆大小。若要提交上述请求,请执行以下操作:

  1. 在菜单栏中依次点击 File > Settings(或在 macOS 上,依次点击 Android Studio > Preferences)。
  2. 依次点击 Appearance & Behavior > System Settings > Memory Settings

  3. 调整堆大小。

  4. 点击 Apply。如果更改了 IDE 的堆大小,则必须重启 Android Studio 才能让新的内存设置生效。

注意:分配过多内存会降低性能。

导出和导入 IDE 设置

 

可以导出一个 Settings.jar 文件,其中包含项目的全部或部分首选 IDE 设置。然后,可以将该 JAR 文件导入其他项目,并/或将该 JAR 文件共享给同事,以便他们将其导入到自己的项目中。

如需了解详情,请参阅 IntelliJ IDEA 中的分享 IDE 设置。

自定义 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 的默认堆大小上限为 1,536 MB,可以通过替换 gradle.properties 文件中的 org.gradle.jvmargs 属性减小此值,如下所示:

    # 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 以使更改生效。

设置代理设置

代理作为 HTTP 客户端和网络服务器之间的中间连接点,可提高互联网连接的安全性和隐私性。

如需支持在防火墙后面运行 Android Studio,请使用 Android Studio IDE HTTP 代理设置页面设置 HTTP 代理设置。

若从命令行或在未安装 Android Studio 的计算机(例如持续集成服务器)上运行 Android Gradle 插件,请在 Gradle build 文件中设置代理设置。

注意:在初始安装 Android Studio 软件包后,可通过在线或离线的方式运行 Android Studio。然而,Android Studio 需要互联网连接才能执行设置向导同步、第三方库访问、访问远程代码库、Gradle 初始化和同步以及 Android Studio 版本更新。

设置 Android Studio 代理

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

  1. 在菜单栏中,依次点击 File > Settings(在 macOS 上,依次点击 Android Studio > Preferences)。
  2. 在左侧窗格中,依次点击 Appearance & Behavior > System Settings > HTTP Proxy。此时将显示 HTTP Proxy 页面。
  3. 选择 Auto-detect proxy settings 以使用自动代理配置网址配置代理设置,或选择 Manual proxy configuration 以自行输入每一项设置。有关这些设置的详细说明,请参阅 HTTP 代理。
  4. 点击 Apply 或 OK 以保存所做的更改。

Android Plugin for Gradle HTTP 代理设置

若从命令行或在未安装 Android Studio 的计算机上运行 Android 插件,应在 Gradle build 文件中设置 Android Gradle 插件代理设置。

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

plugins {id 'com.android.application'
}android {...defaultConfig {...systemProp.http.proxyHost=proxy.company.comsystemProp.http.proxyPort=443systemProp.http.proxyUser=useridsystemProp.http.proxyPassword=passwordsystemProp.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=domainsystemProp.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 代理设置。

在 Windows 上优化 Android Studio 性能

Windows 上的 Android Studio 性能可能会受多种因素的影响。 本节将介绍如何优化 Android Studio 设置以在 Windows 上获得最佳性能。

最大限度地降低杀毒软件对 build 运行速度的影响

某些防病毒软件会干扰 Android Studio 构建过程,从而导致 build 运行速度明显变慢。当在 Android Studio 中运行 build 时,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

为组策略受控环境自定义目录位置

如果组策略会限制可以从计算机中排除实时扫描的目录,可以将 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

    Android Studio 会提示创建一个 idea.properties 文件(如果尚未创建)。

  2. 将以下行添加到 idea.properties 文件中:

    idea.system.path=c:/workfolder/studio/caches/trunk-system

http://www.xdnf.cn/news/951.html

相关文章:

  • MySQL-存储过程--游标
  • 腾讯IMA深度使用指南:从下载安装到高效应用
  • 安全协议分析概述
  • 10天学会嵌入式技术之51单片机-day-3
  • CSS文本属性
  • Java 泛型使用教程
  • 力扣第446场周赛
  • 时序逻辑入门指南:LTL、CTL与PTL的概念介绍与应用场景
  • Typescript中的泛型约束extends keyof
  • 速查手册:TA-Lib 超过150种量化技术指标计算全解 - 7. Pattern Recognition(模式识别)
  • ubuntu学习day4
  • SaltStack远程协助工具
  • Oracle for Linux安装和配置(11)——Linux配置
  • Franka机器人ROS 2来袭:解锁机器人多元应用新可能
  • SpringBoot + Vue 实现云端图片上传与回显(基于OSS等云存储)
  • 单片机可以用来做机器人吗?
  • 超详细实现单链表的基础增删改查——基于C语言实现
  • 聚类算法(K-means、DBSCAN)
  • 基于DeepSeek/AI的资产测绘与威胁图谱构建
  • Java高频面试之并发编程-04
  • LangGraph(一)——QuickStart样例中的第一步
  • linux sysfs的使用
  • XAttention
  • 初识Redis · C++客户端list和hash
  • 爬楼梯(每日一题-简单)
  • 240422 leetcode exercises
  • 13 数据存储单位与 C 语言整数类型:从位到艾字节、常见整数类型及其范围、字面量后缀、精确宽度类型详解
  • Kotlin基础(①)
  • 条件变量底层实现原理
  • 2025 年职业院校技能大赛网络建设与运维赛项Docker赛题解析