Android gradle项目构建非常缓慢

我们已将Android应用项目更改为使用gradle,但已注意到它的构建速度明显变慢。

在使用ANT之前:
6 sek / 50秒(干净)

用gradle后:
30 sek / 80秒(干净)

我用以下方法描述了解决方案:

gradle assembleDebug --profile 

结果报告中的主要任务是这些任务:(在构建中没有干净)

 :packageDebug 10.690s :processDebugResources 8.795s :compileDebugJava 7.644s 

我对获取有关这些任务的更多详细信息没有任何想法。

这是正常的吗? 怎么可以改善?
我知道新的构建系统仍处于测试阶段,但似乎其他人的构建速度更快。

我在没有find解决方案的情况下环顾四周,我尝试过几个方面,包括确保使用包含以下内容的gradle.properties文件启用gradle deamon:

 org.gradle.daemon=true org.gradle.jvmargs=-Xms128m -Xmx256m org.gradle.parallel=true 

的build.gradle:

 buildscript { repositories { mavenCentral() maven { url 'http://download.crashlytics.com/maven' } } dependencies { classpath 'com.android.tools.build:gradle:0.7.+' classpath 'com.google.guava:guava:14.0.1' classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+' classpath 'me.tatarka:gradle-retrolambda:1.1.1' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.2' } } repositories { mavenCentral() maven { url 'http://download.crashlytics.com/maven' } } apply plugin: 'android' apply plugin: 'crashlytics' apply plugin: 'retrolambda' apply plugin: 'android-apt' dependencies { compile fileTree(dir: 'libs', include: '*.jar') compile 'com.google.guava:guava:14.0.1' compile 'com.crashlytics.android:crashlytics:1.+' apt "org.androidannotations:androidannotations:3.0.1" compile "org.androidannotations:androidannotations-api:3.0.1" } apt { arguments { resourcePackageName "com.example" androidManifestFile variant.processResources.manifestFile } } android { packagingOptions { //Fix: http://stackoverflow.com/a/20675331/860488 exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } compileSdkVersion 10 buildToolsVersion "18.0.1" defaultConfig { minSdkVersion 7 targetSdkVersion 10 buildConfigField "boolean", "useProductionServices", "true" } buildTypes { testflight.initWith(buildTypes.debug) debug { packageNameSuffix ".debug" buildConfigField "boolean", "useProductionServices", "false" } testflight { packageNameSuffix ".testflight" buildConfigField "boolean", "useProductionServices", "true" } release { buildConfigField "boolean", "useProductionServices", "true" } } } retrolambda { compile "net.orfjackal.retrolambda:retrolambda:1.1.2" jdk System.getenv("JAVA8_HOME") } 

我有同样的问题,并通过此设置解决:

文件 – >设置 – >构建,执行,部署 – >构建工具 – > Gradle – >离线工作

此设置后将时间缩短3分钟至2秒728毫秒

在此处输入图像描述

使用此内容添加gradle.properties文件有助于:

 org.gradle.daemon=true org.gradle.parallel=true org.gradle.jvmargs=-Xmx256m 

资料来源: https : //medium.com/@erikhellman/boosting-the-performance-for-gradle-in-your-android-projects-6d5f9e4580b6

编辑:
我刚刚阅读了这篇博文,其中有6个技巧可以提高gradle构建速度:
加速Gradle构建的6个技巧

在控制台中使用gradlew assembleDebug它更快

****在旧问题主题中谈论AS的新版本可能看起来很奇怪。但我觉得它可能会帮助其他人,他们寻找答案****

AndroidStudio 2.0可能会帮助您改进构建过程。

以下内容将在使用2.0改进构建过程中发挥重要作用

  1. 即时运行 – 您需要在“设置”中启用它。 文件设置 – 即时运行。 然后启用它

  2. AS 2.0实际上包括应用程序重启选项以改进部署。

  3. 如果您的项目中有模块。 2.0会预先解除它并保持它的构建。 在我们对模块进行任何更改之前,它不需要重新设置,它只需要在设备/模拟器上运行修改部分。 说真的,这节省了很多时间。 做基于模块的业务。

  4. Progaurd优化和混淆任务也在减缓构建过程中起作用。 当您只想要调试模式时,执行以下操作以停止使用progaurd进行优化和混淆。

 android { buildTypes { debug { minifyEnabled true useProgaurd false } release { minifyEnabled true useProgaurd true } } } 
  1. 完成所有AS 2.0后,默认设置本身可以帮助您提高建筑性能。

如果您没有为特定的构建过程添加任何新的库依赖项,那么每个开发人员通常会建议的另一个提示是启用Gradle插件脱机模式。