提高Android Studio中Gradle执行效率

尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58 

你是否感觉到Android Studio构建速度太慢?我也有这感觉。



幸运的是,这有很多可以提高构建速度的技巧。这些技巧目前还在实验并且有可能是不安全的,如果你觉得构建时间太长而且很痛苦的话,尝试一下这些技巧还是很有价值的。我已经按照下面所描述的试过在代码改动很少的情况下构建时间下降了2.5秒。希望对你有帮助。

Android Studio使用Gradle来构建工程。目前Gradle的版本为2.2。最近的版本为2.4,性能比之前的版本有很大的提升。

这有两种方式,一种是手动编辑构建文件,另一种是通过Android Studio改变配置。

对于手动编辑构建文件,在工程的根目录下的build.grade文件末尾添加以下代码:

task wrapper(type: Wrapper) {
    gradleVersion = '2.4'
}

打开终端并运行命令:./gradlew wrapper,它将会下载并设置版本2.4的Gradle对于你本地的Gradle wrapper.这是Gradle官方文档中所描述的方法( http://gradle.org/docs/current/userguide/gradle_wrapper.html)。


对于通过Android Studio配置,打开工程结构对话框,选择工程-〉将Gradle版本改为2.4.当你点击确定,Android Studio将自动同步Gradle的配置,并设置wrapper的新版本。



笔记:这个仅仅是当你的工程用的是Gradle wrapper(默认是用Android Studio 生成的工程)。如果不是这种情况,请参考Gradle文档 http://gradle.org.


第二步就是打开工程的构建文件中的 daemon and parallel开关。使用daemon(守护进程)将会使构建启动很快,并且它不会在应用程序每次启动的时候进行完整的构建。使用Parallel将会同时构建多个模块,在工程很大或模块很多的工程使构建速度很快。

在.gradle文件夹下添加一个文件名为gradle.properties的文件,添加如下代码(如:~/.gradle/gradle.properties)。

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


笔记:Android Studio 已经打开daemon的开关,当从终端进行构建时这个配置将确保daemon的打开。

你也可以在你的工程的根目录下添加这个文件,对于每个人构建应用它将会自动打开,包括你的集成环境(就像Jenkins CI)。当你不使用daemon构建时,从这查看更多信息http://gradle.org/docs/current/userguide/gradle_daemon.html#when_should_i_not_use_the_gradle_daemon.

关于parallel的重要的笔记:配置parallel有可能使一些工程不安全。这要求你的模块必须是解耦的(参考http://gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects)  否则有可能会构建失败。仔细测试你构建的所有variants,你会知道它的所有工作。

你可以添加其它构建参数,比如当你的工程很大时增加堆栈大小,或者指定JVM:

org.gradle.jvmargs=-Xmx768m
org.gradle.java.home=/path/to/jvm

对于gradle.properties文件中其它可以配置的选项,参考 http://gradle.org/docs/current/userguide/userguide_single.html#sec:gradle_configuration_properties. Android Studio中一些选项是可用的,也有是默认打开的,但在gradle.properties文件中打开这些选项时,当你使用终端构建工程时,这将会确保你的同事也做了同样的配置。

最后是改变incremental dexing的值,这是一个实验的功能并且默认是关闭的。打开这个开关有可能会导致构建失败(尤其是在连续运行的时候),但我还是推荐你尝试一下,看看它是否对你有用。

在主APP模块的build.gradle文件中,添加下面的代码:
dexOptions {
        incremental true
}


希望能帮到你,如果你对提高构建执行效率有任何问题或其它技巧请在下面留言。

第一次翻译文章,水平有限还望见谅,如有曲解原文作者的意思,还望不吝指出。

原文地址:https://medium.com/@erikhellman/boosting-the-performance-for-gradle-in-your-android-projects-6d5f9e4580b6



  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: Gradle是一种基于Apache Ant和Apache Maven概念的自动化构建工具,用于Java项目的自动化构建、依赖管理和测试等。在Android StudioGradle被用来构建和管理Android项目。 Gradle的配置包括: 1. 项目级别的Gradle配置:位于项目根目录下的build.gradle文件,用于配置整个项目的构建和依赖管理。 2. 模块级别的Gradle配置:位于每个模块的build.gradle文件,用于配置该模块的构建和依赖管理。 在Gradle配置,常见的配置项包括: 1. repositories:用于指定依赖库的仓库地址,可以是本地文件系统、远程Maven仓库或者其他自定义仓库。 2. dependencies:用于指定项目的依赖库,可以是本地文件系统、远程Maven仓库或者其他自定义仓库。 3. buildTypes:用于指定项目的构建类型,例如debug、release等。 4. productFlavors:用于指定项目的产品风味,例如free、paid等。 5. compileSdkVersion、buildToolsVersion、minSdkVersion、targetSdkVersion等:用于指定项目的编译版本、构建工具版本、最低支持版本和目标版本等。 以上是Android StudioGradle配置的基础内容,具体配置还需要根据项目需求进行调整。 ### 回答2: GradleAndroid Studio的一种构建工具,用于编译、打包、发布Android应用程序。它使用Groovy语言编写,基于Apache Maven和Apache Ant构建工具的优点,支持灵活的构建脚本并提供了丰富的插件,可以有效地管理依赖关系、自动化构建任务、自动导入库等。 在Android StudioGradle配置分为两部分:项目级别的Gradle配置和模块级别的Gradle配置。 项目级别的Gradle配置包括build.gradle文件和gradle-wrapper.properties文件。build.gradle文件是Gradle构建脚本的主文件,它定义了项目的构建方式、仓库地址、插件,以及需要构建的模块等。gradle-wrapper.properties文件是Gradle包装器的配置文件,它定义了Gradle版本号并指定了Gradle下载地址。 模块级别的Gradle配置包括build.gradle文件和proguard-rules.pro文件。build.gradle文件包括了该模块的构建配置,包括依赖库、运行时权限、签名方式,以及生成的APK路径等。proguard-rules.pro文件是混淆规则文件,它包括了混淆代码时需要忽略的类和方法等信息。 要配置Gradle,我们需要根据实际需要添加或修改相应的内容。例如,添加依赖库可以在build.gradle文件的dependencies节点添加相关依赖库信息,例如: implementation 'com.android.support:appcompat-v7:28.0.0' 如果需要修改混淆规则,可以在proguard-rules.pro文件添加相关规则,例如: -keep class com.example.app.** { *;} 总之,Gradle是一款功能强大的构建工具,它可以帮助开发者自动化构建任务,管理依赖关系等。对于Android开发者而言,掌握Gradle配置是非常重要的技能,可以提高开发效率,降低开发成本。 ### 回答3: Android Studio是一种支持Android应用程序开发的集成开发环境,而Gradle则是一种基于Apache Maven和Ant的开源构建自动化工具。它可以更轻松地以面向对象的方式来管理Java工程。在Android Studio,使用Gradle配置可以使项目更加方便,同时也具备了灵活性。 首先,我们需要了解一些Android StudioGradle配置的基本知识。可以在项目的根目录下找到build.gradle文件,这是Gradle构建脚本文件的主要文件之一。它包含了项目构建所需的所有配置信息,如编译版本号、依赖项等。在Gradle构建脚本,有两个重要的部分称为buildscript和dependencies。 buildscript: buildscript的配置项是为了配置Gradle的编译环境。通常包含如下的内容: - repositories: Gradle插件库和第三方库的URL地址。 - dependencies: Gradle插件列表,所有的插件都需要在这个部分声明,基本上最常见的就是com.android.tools.build:gradle。 dependencies: dependencies部分包含项目依赖的所有库文件,例如支持库和第三方库。我们可以通过在dependencies块添加依赖项来设置库和版本: 例如: ``` dependencies { compile 'com.android.support:appcompat-v7:26.0.0-beta1' compile 'com.android.support.constraint:constraint-layout:1.0.2' } ``` 此外,我们还可以更改项目编译版本。可以在build.gradle文件修改编译版本信息,例如minSdkVersion,targetSdkVersion和compileSdkVersion。以下是一个示例: ``` android { compileSdkVersion 27 defaultConfig { minSdkVersion 19 targetSdkVersion 27 ... } buildTypes { release { ... } } } ``` 在配置Gradle时,我们还可以添加自定义任务。Gradle提供了一组系统任务,例如clean,assemble,build和check等。我们也可以使用Gradle插件以及自定义任务来自己指定相关任务。 总之,配置Gradle可以使Android Studio更加灵活,能够更好地管理、构建和部署项目。通过使用Gradle构建脚本,我们可以更方便地进行依赖项管理以及其他任务。同时,它还支持自定义插件和扩展,以满足我们的特定需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值