当使用gradle在一个包含大约140个项目/库的多项目设置上构建时,构建时间为1小时22分钟。并且我使用了--parallel
选项。而我们的ANT构建不使用并行构建仅需要不到20分钟。
以下是我做的确切步骤。
./gradlew clean
./gradlew build --parallel
我进行了一些测试,似乎dex处理需要最长时间。有没有办法让gradle进程重新使用已经完成dex的文件?如果库已经构建完成,应该重复使用已经完成dex的库。
我看到选项--no-rebuild
,但是当我使用该选项运行时,它会显示以下内容:
File '/path/to/project/build/libs/project.aar' specified for property 'bundle' does not exist.
我用通用名称替换了文件路径和项目名称。
使用Gradle 1.9-rc-3
其他信息(2014年1月15日):
preDexDebug
和preDexRelease
在每个项目中花费了非常长的时间。比任何其他任务都要长得多。
进展情况(2014年1月15日):
好的,现在,我将preDexLibraries = false
放入所有的build.gradle
文件中。但是,我仍然想知道一个可以集中放置该条目并影响所有其他build.gradle
文件的地方。
不过,现在dexRelease
和dexDebug
需要很长时间。有没有办法告诉构建只执行dexDebug
或dexRelease
并跳过其他的呢?
进展情况(2014年1月15日):
使用assembleDebug
有效。不过,似乎仍然没有重复使用已经dexe的库。因为dexing仍然需要很长时间。每个项目大约需要一分钟的时间。 有没有一种方法可以让gradle重复使用已经dexe的库?或者还有其他原因导致构建仍然需要大约一小时? 我们的ANT进程只需不到15分钟。