有没有任何方法来显示我的构建过程中哪个过程花费了最多的时间,然后试着绕过它呢?
我在使用安卓工作室。目前我不认为我的项目很大,但是我想我所需要的依赖使它更大,而且构建仍然需要40-60秒。(删除多个dex之前的90秒)
以下是我的2015年中期Macbook Pro的规格:
我不得不移除部分依赖项,以便能够在不启用多重dex支持的情况下进行构建,这节省了我大约20秒的时间,但是我想要添加更多的依赖项,所以我需要改进构建时间,这样我就可以重新启用multi,并实际使用我想要的依赖项。
我见过一些关于修改Android以加快构建时间的帖子,但是这些似乎都没有用,我更愿意看看我是否能解决这个问题。
下面是我当前的依赖关系:
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'
}发布于 2015-08-19 16:42:35
我无意中解决了我在做其他事情时看到的问题。
实现外部依赖Retrolambda会使我的构建时间从10秒增加到45/50秒。从我的应用程序中删除它会显着地减少它(实际上减少了40秒!)
我删除了retrolambda,因为我想开始测试我的应用程序,并且需要依赖项Robolectric和Mockito。如果同时使用retrolambda,我就会得到一个类似于unsupported major.minor version指向JDK 7的异常。故事的长短在于,我受够了围绕我的依赖项进行黑客攻击,只为使用retrolambda构建安装程序(Android无论如何在代码折叠中模仿它们)。
发布于 2015-08-18 13:05:39
有两件主要的事情可以提高建筑速度:

这件事很棘手。通常情况下,你的minSdkVersion应该是14或16左右,这是慢的事情。如果使用minSdkVerison = 22进行编译,则速度会急剧增加。您可以在开发期间增加minSdkVersion,并在发布时减少它。
发布于 2015-08-18 13:07:52
对gradle使用脱机模式可以提高构建时间。
Preferences > Build, Execution, Deployment > Gradle > Offline work缺点是,无论何时更新依赖项,都必须关闭脱机模式。
https://stackoverflow.com/questions/31994725
复制相似问题