当前位置:   article > 正文

C++学习(三九七)Android Stdudio(AS)提高构建速度的方法_as加快打包速度

as加快打包速度

1、找到gradle.properties文件

在里面加上:

org.gradle.daemon=true
org.gradle.parallel=true

org.gradle.jvmargs=-Xmx768m

# 编译时使用守护进程
org.gradle.daemon=true
#JVM最大允许分配的堆内存,按需分配
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m  -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
#使用并行编译
org.gradle.parallel=true  
org.gradle.configureondemand=true

原理:增大gradle运行的Java虚拟机的大小,让gradle在编译的时候使用独立进程,让gradle可以并发的运行。

2、修改\studio64.exe.vmoptions or studio.exe.vmoptions

找到这个文件后进行编辑,在最开始设置内存大小

将数据进行一下修改:

将Xms改为256,将Xmx改为2048

3、升级gradle

4、取消一些联网操作或者使用离线模式

打开File->Settings->appearance &behavior->system setting->Updates,把两个选择框都取消选中。

5、使用offline work和Local gradle

第一次启动的时候需要下载Gradle,地址:https://gradle.org/releases,下载对应版本放到C:\User{username}.gradle\wrapper\dists\gradle-3.3-all(版本根据下载的版本修改即可)

setting->Build,Execution,Deployment->gradle,把offline work选中,并选择Use local Gradle distribution,里面的路径是AS安装路径/gradle/gradle-x.xx.x

6、minSdkVersion

当minSdkVersion为21以下的时候的时候(不包含21),则编译时间会大大增加。我们可以通过定制开发版本编译minSdkVersion为21来提高开发效率

7、避免使用multi-APK

当需要针对不同的ABI或dpi做支持,使用spilts{}对工程生成不同apk时可以使用该方法。
在开发调试的时候,关闭splits功能,具体配置如下:

  1. android {
  2. ...
  3. if (project.hasProperty(‘devBuild’)){
  4. splits.abi.enable = false
  5. splits.density.enable =false
  6. }
  7. ...
  8. }

8、PdevBuild编译选项

打开Preferences -> Build, Execution, Deployment -> Compiler,再Command-line选项后填写-PdevBuild

9、减少打包的资源文件

在我们进行开发调试的时候,没有必要对所有的资源文件进行编译,通常只选择一种可以减少编译时间,具体配置如下:

  1. android{
  2. ...
  3. productFlavors {
  4. development {
  5. minSdkVersion 21
  6. //only package english translations, and xxhdpi resources
  7. resConfigs (“zh”, “xxhdpi”)
  8. }
  9. }
  10. ...
  11. }

10、禁用PNG压缩

11、使用Gradle缓存

Gradle缓存是Gradle 3.5的新特性,当缓存开启时,Gradle将缓存并重用之前构建的结果。具体在gradle.properties中增加如下配置:
org.gradle.caching=true

12、针对项目构建时间具体进行优化

针对每个项目的构建呢,具体的优化也不会相同,我们可以将我们项目的具体构建时间输出成文档,具体分析哪块的构建时间过长,来针对性的优化。具体命令如下:

gradlew --profile --recompile-scripts --offline --rerun-tasks assembleFlavorDebug

--profile:启用分析。
--recompile-scripts:在绕过缓存时强制重新编译脚本。
--offline:禁止 Gradle 提取在线依赖项。这样可以确保 Gradle 在尝试更新依赖项时引起的任何延迟都不会干扰您的分析数据。您应当已将项目构建一次,以便确保 Gradle 已经下载和缓存您的依赖项。
--rerun-tasks:强制 Gradle 重新运行所有任务并忽略任何任务优化。 构建完成后,在project-root/build/reports/profile/ 目录下使用浏览器打开生成的profile-timestamp.html即可看到具体的构建时间报告。

13、使用本地gradle

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/244389
推荐阅读
相关标签
  

闽ICP备14008679号