Android gradle项目构建速度很慢

问题描述:

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

与ANT之前:
30 SEK/80秒(用干净的)

我已成型的溶液:
6 SEK/50秒(用干净的)

与gradle这个后

gradle assembleDebug --profile 

在生成的报告的主要任务是蒂斯任务:(在构建没有清洁)

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

我对获取有关thies任务的更多详细信息没有任何意见。

这是正常的吗?这怎么能改进?
我知道新的构建系统仍在beta版中,但似乎其他构建的速度更快。


我已经环顾四周,没有找到一个解决办法我已经试过几件事包括确保gradle这个守护进程与包含这个gradle.properties文件中启用:

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://*.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") 
} 
+1

你找到解决类似的问题? Gradle是soooo sloooowww。我没有找到这个帮助 - http://*.com/questions/16775197/building-and-running-app-via-gradle-and-android-studio-is-slower-than-via-eclips –

添加一个gradle.properties fi乐与此内容有点帮助:

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这个建造速度:
6 tips to speed up your Gradle build

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

+1

不 - 它花了相同的时间.. –

+0

看看这个https://plus.google.com/u/0/+RicardoAmaral/posts/e9PG6vSN5w3。 –

+0

谢谢 - 但这更多的是关于Commandline与Android工作室。我更需要它与ANT。 –

****在老问题线程中谈论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的默认设置本身帮助您提高建筑性能之后。
  2. 如果您没有为特定的构建过程添加任何新的库依赖项,每个开发人员通常会建议的一个提示是让Gradle插件脱机模式启用。

开始=>

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

文件 - >设置 - >构建,执行,部署 - >生成工具 - >摇篮 - >此设置后,脱机工作

减少时间3分钟到2s728ms

enter image description here

+1

这真的很酷。 –