我有一个多项目(大约10个模块),每次建造大约需要20-30秒。当我在Android Studio中按下Run键时,我每次都要等待重新构建应用程序,这非常缓慢。

是否有可能在Android Studio中自动化构建过程?或者你有什么建议可以加快这个过程吗?

在Eclipse中,由于自动构建,在模拟器上运行相同的项目大约需要3-5秒。

这是我的身材。Gradle文件(app模块):

buildscript {
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':libraries:SharedLibs')
    compile project(':libraries:actionbarsherlock')
    compile project(':libraries:FacebookSDK')
    compile project(':libraries:GooglePlayServices')
    compile project(':libraries:HorizontalGridView')
    compile project(':libraries:ImageViewTouch')
    compile project(':libraries:SlidingMenu')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 16
    }
}

当前回答

解决我的问题

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

Gradle的构建从8分钟缩短到3秒。

其他回答

嗨,我知道这是非常非常晚的回答,但也许能帮助到某人 对我来说,我在吸毒

compile 'com.android.support:support-v4:23.1.1'

在我的应用程序Gradle依赖 但在我的一个图书馆里

 compile 'com.android.support:support-v4:23.0.1'

所有更改到最新版本后,我的问题解决了。

根据android文档,将此添加到app模块的gradle文件中。

android {
    ...
    dexOptions {
    preDexLibraries true
    maxProcessCount 8
    }
}

解决我的问题

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

Gradle的构建从8分钟缩短到3秒。

我最近买了一个新的固态硬盘,从Windows换成了Linux。我的构建时间现在快了一个数量级,不再烦人了。

虽然它没有直接回答为什么它比eclipse慢的问题,但它表明该进程受磁盘限制,升级到SSD可能是一个(有点昂贵的)解决方案。我猜会有人在谷歌上搜索这个问题,最后来到这里,他们可能会欣赏我的经验。

在我们的具体案例中,问题是由于使用了retrolambda插件,这迫使所有项目和子项目在每次尝试启动应用程序时都要重新编译,即使核心模块中没有任何代码被修改。

切除retrolamba为我们修复了它。希望它能帮助到别人。