如何提高Android Studio应用程序构建的速度?

Stu*_*ing 13 android android-studio

有没有办法显示我的构建过程是哪一个花费最多的时间,然后尝试解决它?

我正在使用Android Studio.我现在不会把我的项目称为大项目,但我想我需要的依赖项使它变大,构建仍需要40-60秒.(从删除多dex之前的90秒开始)

这是我的2015年中期Macbook Pro的规格:

  • 处理器:2.5 GHz Intel Core i7
  • 内存:16GB 1600 MHz DDR3

我不得不删除部分依赖项,以便能够在不启用多dex支持的情况下构建,这节省了我~20秒,但是我想添加更多依赖项,所以我需要改进构建时间,以便我可以重新启用多个dex并实际使用我想要的依赖项.

我看过一些关于修改Android Studio以加快构建时间的帖子,但这些似乎没有用,我宁愿看看能不能解决问题.

这是我当前的依赖项:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

// MY INTERNAL LIBRARIES
    wearApp project(':wear')
    compile project(':ViewPagerIndicator')
    compile project(':connection-manager')
    compile project(':core-library')
    compile project(':activity-manager')
    compile project(':activity-recorder')

    compile 'com.google.android.gms:play-services-maps:7.5.0'
    compile 'com.google.android.gms:play-services-wearable:7.5.0'
    compile 'com.google.android.gms:play-services-location:7.5.0'

    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.android.support:support-v4:22.2.1'
    compile 'com.android.support:design:22.2.1'
    compile 'com.android.support:cardview-v7:22.2.1'
    compile 'com.android.support:recyclerview-v7:22.2.1'
    compile 'com.android.support:support-annotations:22.2.1'

    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'joda-time:joda-time:2.7'
    compile 'com.androidplot:androidplot-core:0.6.1'

    compile project(':ParseLoginUI')

    /*Images*/
    compile 'com.squareup.picasso:picasso:2.3.3'
    compile 'com.makeramen:roundedimageview:2.1.0' // https://github.com/vinc3m1/RoundedImageView
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'io.reactivex:rxandroid:1.0.1'

//    apt 'com.google.dagger:dagger-compiler:2.0'

}
Run Code Online (Sandbox Code Playgroud)

lgv*_*lle 6

您可以采取两项主要措施来提高建筑速度:

  1. 离线工作:

离线工作在gradle上

  1. 针对更大的SDK版本进行编译:

这个很棘手.通常你minSdkVersion需要像14或16这样的东西.如果编译使用minSdkVerison = 22速度倍数会急剧增加.您可以minSdkVersion在开发期间增加并在发布时减少它.


Stu*_*ing 6

我无意中解决了在看其他事情的同时我看到了我的问题.

实现外部依赖 Retrolambda将我的构建时间从大约10秒增加到大约45/50秒.从我的应用程序中删除它显着减少了它(事实上大约40秒!).

我删除了retrolambda因为我想开始测试我的应用程序并需要依赖项RobolectricMockito.如果我retrolambda在同一时间使用,我会unsupported major.minor version指出一个例外JDK 7.故事的长短之处在于我厌倦了对我的依赖项进行黑客攻击并构建设置以便使用retrolambda(Android Studio无论如何都会模仿它们的代码折叠).