我有一个多项目(大约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
    }
}

当前回答

到处寻找,终于找到了一个适合我们的解决方案。启用并行构建(在OSX:首选项->编译器-> gradle ->“并行编译独立模块”)和启用“自动制作项目”将它从~1分钟降低到~20秒。感谢/u/Covalence。

http://www.reddit.com/r/androiddev/comments/1k3nb3/gradle_and_android_studio_way_slower_to_build/

其他回答

我受够了本地机器上缓慢的android构建。我解决这个问题的方法是在AWS上启动一台高端机器,将我本地的代码重新同步到机器上,然后在那里编译。

我看到了性能的立即提升,并且我的本地系统不再占用CPU。看看我创建的这个工具,帮助开发人员加快他们的终端https://stormyapp.com

只需创建一个名为gradle的文件。属性:

/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)

将这一行添加到文件中:

org.gradle.daemon=true

对我来说,现在的速度等于Eclipse。

来源:https://www.timroes.de/2013/09/12/speed-up-gradle/

我远不是Gradle的专家,但我的环境中有以下一行。Gradle /init.gradle

gradle.projectsLoaded {
    rootProject.allprojects {
        repositories {
            mavenRepo name: 'libs-repo', url: 'http://guest-vm/artifactory/repo'
        }
    }
}

然而,我不知道为什么那条线在那里,但我试着换到

gradle.projectsLoaded {
    rootProject.allprojects {
        repositories {
            mavenCentral()
        }
    }
} 

现在我终于可以不用发誓Android Studio和Gradle的构建方案工作了。

一个微不足道的更改(到一个资源xml)仍然需要10分钟。 正如@rivare在他的回答中所说,命令行构建要快得多(缩短到15秒)。 下面是一些步骤,至少可以从Windows命令行快速完成一个简单的构建。

进入你的项目根目录(gradlew.bat所在的地方): android cd c: \ \ MaskActivity 执行构建: gradlew assembleDebug 直接从手机上卸载apk(拖拽即可卸载)。 构建完成后,使用Windows杀死BIG java进程 任务管理器。

或者如果你的Windows机器上有unix工具:

ps

“pid”的值如下所示:

kill -9 <pid>

现在安装apk: adb -d install C:\Android\MaskActivity\app\build\outputs\apk\app-debug.apk

更改此设置后,我的编译持续时间10分钟更改为~10秒。

步骤1:

设置(ctrl + Alt + S) - > 构建、执行部署- > 编译器- > 在命令行选项框中输入“——offline”。

步骤2:

选中“并行编译独立模块”复选框。 &点击应用->确定

参考资料- https://www.sundoginteractive.com/blog/speed-up-gradle-in-android-studio

劣势:

您将无法下拉构建中确定的依赖项的最新版本。gradle文件。它运行得更快,因为它使用了这些导入库的缓存快照。

重要提示:部署应用程序时,请删除此设置并使用最新版本的依赖项构建。