提升Android Studio的编译速度(更快出包减小等待)

硬件和软件的准备

对于常常要出包并且一次要出多个渠道APK的同事来讲,每次漫长的打包等待是一件消耗生命且无心义事情。html

google官方提升编译速度的文档:https://developer.android.com/studio/build/optimize-your-build.html#profileandroid

个人硬软件环境

Android Studio 4.1.3windows

windows 10 企业版 ltsc缓存

CPU:i5 6500 3.5GHZ 四线程jvm

无SSD,无独显,内存:8x2=16G DDR4ide

必作操做

电脑内存:必定要大于等于16G,以前外网机是8G内存,花费了1小时13分才打出APK,而加装到16g内存以后,出包时间在16分钟之内,通过本文的设置方法以后,每次出包时间13分钟之内(PS.我生成的游戏包体在900MB之内)。学习

关闭且彻底退出杀毒软件,注意:必定要关闭杀毒软件的文件实时防御,就是关闭杀毒软件对工程目录的实时扫描。gradle

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位),设置内容以下:(建议只修改前四行)ui

-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出包的速度,我很乐意与大家学习交流。

参考资料

AndroidStudio优化构建速度

Android Studio配置优化最全详解

相关文章
相关标签/搜索