提高Android Studio的编译速度(更快出包减少等待)
硬件和软件的准备
对于经常要出包而且一次要出多个渠道APK的同事来说,每次漫长的打包等待是一件消耗生命且无意义事情。
google官方提高编译速度的文档:https://developer.android.com/studio/build/optimize-your-build.html#profile
我的硬软件环境
Android Studio 4.1.3
windows 10 企业版 ltsc
CPU:i5 6500 3.5GHZ 四线程
无SSD,无独显,内存:8x2=16G DDR4
必做操作
电脑内存:一定要大于等于16G,之前外网机是8G内存,花费了1小时13分才打出APK,而加装到16g内存之后,出包时间在16分钟以内,经过本文的设置方法之后,每次出包时间13分钟以内(PS.我生成的游戏包体在900MB以内)。
关闭且完全退出杀毒软件,注意:一定要关闭杀毒软件的文件实时防护,就是关闭杀毒软件对工程目录的实时扫描。
gradle.properties
- 项目的 gradle.properties 文件(针对当前项目):
C:\Users\username\.gradle\gradle.properties 这个文件是对所有项目都生效
gradle.properties内容如下:(如果用户目录下没有这个gradle.properties文件,则新建一个)
#jvmargs默认配置
#org.gradle.jvmargs=-Xmx4096M
#构建时使用守护进程
org.gradle.daemon=true
#JVM最大允许分配的堆内存,按需分配
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=2048m -XX:+UseParallelGC
#并行构建
org.gradle.parallel=true
#按需配置
org.gradle.configureondemand=true
#启用新一代Dex编译器D8
android.enableD8=true
#启用新一代资源编译器aapt2 (增量资源处理)
android.enableAapt2=true
#启用gradle缓存
org.gradle.caching=true
studio64.exe.vmoptions
使用Everything搜索:studio64.exe.vmoptions 文件(注意区分32和64位),设置内容如下:(建议只修改前四行)
-Xms1024m
-Xmx4096m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true
-Djna.nosys=true
-Djna.boot.library.path=
-Didea.vendor.name=Google
build.gradle
这个配置文件是针对具体的项目的,放在工程的根目录下,里面指定的编译的一些选项,比如使用的gradle版本
分析出包慢在那儿
使用gradle-profiler,官网文档:https://developer.android.com/studio/build/profile-your-build?hl=zh-cn
离线编译
网上有些文章说采用离线编译APK,但是我在Android Studio4中已经没有这些选项了。并且使用本地安装的gradle选项,也无效,AS还是会使用Project Setting中设置gradle来打包,也可能是对Android 原生开发了解的不够多,如果大家有其它方法能够加快AS出包的速度,我很乐意与你们学习交流。
参考资料
提高Android Studio的编译速度(更快出包减少等待)的更多相关文章
- 加快Android Studio的编译速度
从Eclipse切换到Android Studio后,感觉Android Studio的build速度比Eclipse慢很多,以下几个方法可以提高Android Studio的编译速度 使用Gradl ...
- 加速 Android Studio 的编译速度 2.2
Android studio 2.2 当中有一项新的功能:Dex In Process. 这项功能可以动态的加快编译速度,以及提高Instant Run 的效率. 那么怎么来使用这项新功能呢?你只需要 ...
- Android Studio优化编译速度
随着Android Studio的不断完善,其安卓开发者阵营也基本从Eclipse转移到了Android Studio,毕竟Android Studio是谷歌亲力亲为开发的官方开发软件.不过其最重要的 ...
- 提高Android Studio的Build速度实践
1.在下面的目录创建gradle.properties文件 /home/<username>/.gradle/ (Linux) /Users/<username>/.gradl ...
- Android studio 加速编译方法
JRebel for Android 是一个Android Studio的插件,可以大大加速Android Studio的编译速度,对于小项目来说或许不明显:但是当项目达到一定的规模时,它对于Andr ...
- 【转】实践最有效的提高Android Studio运行、编译速度方案
原文:https://blog.csdn.net/xwh_1230/article/details/60961723 实践最有效的提高Android Studio运行.编译速度方案 最有效提升Andr ...
- 通过预编译头文件来提高C++ Builder的编译速度
C++ Builder是最快的C++编译器之一,从编译速度来说也可以说是最快的win32C++编译器了.除了速度之外,C++builder的性能也在其它C++编译器的之上,但许多Delphi程序员仍受 ...
- Android Studio gradle编译 NullPointerException(no error message)解决
原文:Android Studio gradle编译 NullPointerException(no error message)解决 1.关闭Android Studio 2.找到工程目录下的 . ...
- Android tips(八)-->Android Studio打包apk,aar,jar包
文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是java ...
- Android Studio打包apk,aar,jar包
转载请标明出处:一片枫叶的专栏 文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独 ...
随机推荐
- PPT 呼吸感
任何元素都应该保持一定的距离,留出可以"呼吸"的空间 呼吸感 怎么营造 不要让内容超出/接近边框 类似的元素摆放在一起 控制 行间距/字间距 行间距:1.3.字间距:1.0 :行间 ...
- .Net Core 开发框架,支持多版本的类库
工具:Visual Studio 2019 1.新建一个 .NET Standard 类库. 2.填写项目名称 3.编辑项目文件 可以看到当前类库默认为 netstandard2.0,而此时其xml标 ...
- 【HZERO】安全体系
安全体系 https://open.hand-china.com/community/detail/521336056218521600#前言前言open&doc-0
- UVA540 Team Queue(双queue)
题目大意 有一条长队,每个人均唯一属于一个组(有编号),执行给定操作序列,输出相应结果.操作如下: (假设长队q1) ENQUEUE x:标号为x的人入队,若q1中存在和x属于同一组的人,则将x插入长 ...
- 第17场-快乐AC赛
A - 看我,看我,我最简单了 POJ - 2387 这道题是以前记录过的最短路板子题,然而我还是脑抽用Floyd交了一发 解题报告:https://www.cnblogs.com/RioTian/p ...
- Invalid options object. Sass Loader has been initialized using an options obj
https://blog.csdn.net/liwan09/article/details/106981239
- 每天学五分钟 Liunx | 有趣的 log
说明:看 systemd log 的时候发现了一段有意思的打印,不太明白为什么会这样,贴出来与朋友们分享,欢迎知道的朋友们说明下,非常感谢. 问题描述:服务启动时,会执行 python 脚本,该脚 ...
- spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
本文为博主原创,转载请注明出处: 在spring cloud gateway 为 2.x 的版本的时候,可以通过引入 ribbon ,在进行过滤器 LoadBalancerClientFilter 进 ...
- 使用 nacos 搭建注册中心及配置中心
本文为博主原创,转载请注明出处: 在分布式微服务框架中,现在都流行使用 nacos 作为分布式框架的注册中心与配置中心.当我们搭建一套spring boot 框架的时候,默认会将配置文件 放在 res ...
- SV task and function
内容 system verilog过程语句:自增和自减操作符 逻辑比较操作符 逻辑值为1bit inside语句 变量类型转换 强制类型转换:$cast() 变量位宽转换 变量符号位转换 for循环语 ...