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")
}
添加一个gradle.properties
fi乐与此内容有点帮助:
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.jvmargs=-Xmx256m
编辑:
刚才我看到我这篇文章其中有6个技巧,以提高gradle这个建造速度:
6 tips to speed up your Gradle build
在控制台中使用gradlew assembleDebug它更快
不 - 它花了相同的时间.. –
看看这个https://plus.google.com/u/0/+RicardoAmaral/posts/e9PG6vSN5w3。 –
谢谢 - 但这更多的是关于Commandline与Android工作室。我更需要它与ANT。 –
****在老问题线程中谈论AS的新版本可能看起来很奇怪。但我觉得它可能会帮助别人,他会寻找答案****
AndroidStudio 2.0可能会帮助您改善构建过程。
下面的事情会在提高构建过程中发挥重要的作用与2.0
即时运行 - 你需要启用它在设置。 文件设置即时运行。然后启用它
AS 2.0实际上包括应用程序重新启动选项以改进部署。
如果您的项目中有模块。 2.0将会对它进行预分解并保持它的构建。在我们对模块进行任何更改之前,它不需要进行重新分类,而只需要在设备/仿真器上运行修改部分。说真的,这样可以节省很多时间。做基于模块的业务。
Progaurd优化和模糊处理任务也在减缓构建过程中发挥作用。 执行以下操作以停止使用progaurd进行优化和模糊处理,而只需要调试模式。
android { buildTypes { debug { minifyEnabled true useProgaurd false } release { minifyEnabled true useProgaurd true } } }
- 在所有AS 2.0的默认设置本身帮助您提高建筑性能之后。
如果您没有为特定的构建过程添加任何新的库依赖项,每个开发人员通常会建议的一个提示是让Gradle插件脱机模式启用。
你找到解决类似的问题? Gradle是soooo sloooowww。我没有找到这个帮助 - http://*.com/questions/16775197/building-and-running-app-via-gradle-and-android-studio-is-slower-than-via-eclips –