Android Studio:配置备忘录

6 篇文章 0 订阅

Gradle配置文件

gradle配置文件是gradle.properties分为全局和项目两个级别:

  • 全局的配置文件位于gradle user home目录
    在这里插入图片描述
  • 项目级别位于项目根目录下
    此处省略

下面介绍一下常见的gradle配置及其作用。

VM Options

  • 常用配置项:
配置项作用示例
-Xmx2048m最大可占用内存
-XX:MaxPermSize=512m
-XX:+HeapDumpOnOutOfMemoryError
-Xss512k设置栈帧的最大值,也可以说是递归调用方法,到递归到多少次,就会栈溢出SOF
-XX:AutoBoxCacheMax=<size>整数包装类缓大小
-Dfile.encoding=UTF-8文件编码格式
-Dkotlin.daemon.jvm.options\="-Xmx2048M"
-Djava.lang.Integer.IntegerCache.high="200"整数缓大小

配置示例:

org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M"
  • GUI配置入口:
    在这里插入图片描述

androidx

# 启用androidx
android.useAndroidX=true
# 编译时将依赖的三方库中support类自动替换成androidx对应类
android.enableJetifier=true

守护进程

开启daemon后不需要每次启动gradle进程(JVM实例),减少了初始化相关的工作,daemon可以缓存项目结构,文件,task等,尽可能复用之前的编译成果,缩短编译过程。守护进程最好是全局共享, 因此推荐在全局配置中开启,开启方式如下:

org.gradle.daemon=true

或者在启动gradle时指定参数:

./gradlew task --daemon

# 为了确保gradle配置生效,建议使用gradle —stop停止已有的daemon
./gradlew --stop

离线构建

开启offline之后,可以强制Gradle使用本地缓存的依赖,避免了网络读写操作。

  • 命令行方式:
./gradlew --offline taskName
  • GUI方式(推荐):
    在这里插入图片描述

并行构建

多模块项目中,gradle默认是挨个按顺序处理,为了加快编译速度,多模块工程建议开启并行构建。

  • 修改项目gradle.properties文件(推荐):
org.gradle.parallel=true
  • 命令行方式:
./gradlew task --parallel

开启后,控制台在执行任务时会打印如下信息:

Parallel execution is an incubating feature.
.......

注意:发现在flutter项目中如果开启这个选项可能会导致编译失败

按需配置

还是多模块项目,project在编译时会执行configure流程,使用--configure-on-demand会在执行任务时仅配置相关的modules,而不是所有modules,对于多模块的project来说使用起来会有不小的提升。

  • 配置文件方式(推荐在全局配置):
org.gradle.configureondemand=true
  • 命令行方式:
./gradlew taskName --configure-on-demand

性能分析

gradle提供了性能分析的功能,执行任务时带上对应参数即可。

  • --dry-run参数

执行完整构建流程,但不执行具体任务,常用于构建性能分析。

  • --profile参数

会生成gradle构建数据资料文件:

./gradlew assembleDebugRelease --profile

执行完毕会在project根目录下的build/reports/profile目录有对应的结果文件,如profile-2017-04-08-23-06-37.html,使用浏览器打开文件可以看到各个task的执行耗时情况从而进行有针对性的优化。

HTTP代理

内网开发环境下,gradle编译过程中出现下载远程依赖失败时,可以通过配置代理解决,配置方式分全局和当前项目3种:

全局配置

在AS设置中搜索proxy,配置相关代理参数:
在这里插入图片描述

配置完成后将在IDE gradle的工作目录下生成gradle.properties配置文件,里面内容如下:

systemProp.http.nonProxyHosts=*.baidu.*
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=8080
systemProp.https.nonProxyHosts=*.baidu.*
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=8080
systemProp.http.proxyUser=user
systemProp.http.proxyPassword=password
systemProp.https.proxyUser=user
systemProp.https.proxyPassword=password

项目配置

有时候我们不希望代理在所有项目生效,而是仅在当前打开项目生效,受全局配置启发,找到当前项目的gradle.properties,在其中把上述配置复制进去,实测有效。

模块配置

同样支持在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
    }
    ...
}

缓存目录

gradle默认的缓存目录在:%USERPROFILE%\.gradle%USERPROFILE%指向C盘用户账户目录,比如:C:\Users\Administrator。

针对Windows平台,由于C盘空间有限,建议将gradle默认的缓存目录修改到非C盘:
截图

Studio配置

配置文件的作用和配置方法详见配置 Android Studio

配置文件

studio.vmoptions

配置文件studio64.exe.vmoptions路径:

  • AS4.1之前在:%HOMEPATH%\.AndroidStudio4.0\config\studio64.exe.vmoptions
  • AS4.1之后在:%APPDATA%\Google\AndroidStudio4.1\studio64.exe.vmoptions

其中:

  • %HOMEPATH%指向C盘用户账户目录,比如:C:\Users\Administrator
  • %%USERPROFILE%%%HOMEPATH%
  • %LOCALAPPDATA%指向用户本地应用数据,比如:C:\Users\Administrator\AppData\Local
  • %APPDATA%指向用户漫游应用数据,比如:C:\Users\Administrator\AppData\Roaming

若上述目录均不存在该文件,可通过下面2种方式创建:

  1. 双击shift,输入框中输入vmoption,回车即可;
  2. 依次点击Help > Edit VM Options,会提示创建文件;

该配置文件用于自定义Studio的Java虚拟机(JVM)选项,例如堆大小和缓存大小。请注意,在 Linux计算机上,此文件可能会命名为studio64.vmoptions,具体取决于AS版本。

idea.properties

配置文件路径与studio.vmoptions相同。如果该文件不存在,在AS中依次点击Help > Edit Custom Properties,会提示创建一个idea.properties文件。

该配置用于自定义AS的属性,例如插件文件夹路径或支持的文件大小上限。

控制台中文乱码

找到studio64.exe.vmoptions添加下述配置:

# custom Android Studio VM options, see https://developer.android.com/studio/intro/studio-config.html
-Dfile.encoding=UTF-8

在这里插入图片描述

迁移AS缓存文件

找到idea.properties添加下述配置:

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

编码习惯

代码提示大小写不敏感

默认是大小写敏感的,即首字母必须大写才有对应的提示,可以改为大小写不敏感:

在这里插入图片描述

代码换行

默认的代码换行太窄了,导致代码一对齐就换行,可以修改默认换行的字符数,推荐改为140:
在这里插入图片描述

文件编码格式

Setting->Editor->File Encoding 进行编码设置:
在这里插入图片描述

界面相关

新旧版Layout Inspector切换

新版Layout Inspector支持实时更新,但是此功能在一些开发机器上运行非常卡顿,如果需要切换回旧版可以进行如下操作:

  1. File->Setting->Experimental中去掉勾选“Enable Live Layout Inspector”
  2. 打开tools菜单->“Legacy Layout Inspector”

Git工具栏不显示local changes

在这里插入图片描述
解决办法:Android Studio / Preferences / Version Control / commit - 取消Use non-modal commit interface勾选
来源:Android Studio中显示git的Local Changelist

安装命令行脚本

以dart脚本为例:

  1. 打开设置界面,找到外部工具设置项 ( Tools -> ExternalTools ):
    在这里插入图片描述

  2. 点击添加按钮,参考下图配置:
    在这里插入图片描述

调试相关

log tag过滤

隐藏指定tag:^(?!.*(SurfaceView)).*$

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值