我有一个gradle版本,有32种口味并且构建了5个小时?
这是我的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 17
buildToolsVersion "21.1.2"
dexOptions {
preDexLibraries false
}
defaultConfig {
minSdkVersion 14
targetSdkVersion 17
multiDexEnabled true
versionCode 3
versionName '3.0.0.0'
}
signingConfigs {
signingConfig1 {
storeFile file('keystores/signingConfig1.keystore')
storePassword 'signingConfig1'
keyAlias 'signingConfig1'
keyPassword 'signingConfig1'
}
...
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
productFlavors {
flavor1 {
applicationId "com.mycompany.project.flavor1"
signingConfig signingConfigs.signingConfig1
}
flavor2 {
applicationId "com.mycompany.project.flavor2"
signingConfig signingConfigs.signingConfig2
}
...
flavor32 {
applicationId "com.mycompany.project.flavor32"
signingConfig signingConfigs.signingConfig32
}
}
sourceSets {
flavor1.res.srcDir 'src-flavors/flavor1/res'
flavor2.res.srcDir 'src-flavors/flavor2/res'
...
flavor32.res.srcDir 'src-flavors/flavor32/res'
}
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
compile 'com.android.support:support-v4:18.0.0'
compile 'com.android.support:appcompat-v7:20.0.0'
compile files('libs/stock-chart-full.jar')
compile files('libs/bcprov-jdk15on-1.47.jar')
compile files('libs/Pubnub-Android-3.7.2.jar')
compile 'com.google.android.gms:play-services:7.0.0'
compile 'org.roboguice:roboguice:3.+'
provided 'org.roboguice:roboblender:3.+'
compile 'com.google.code.findbugs:jsr305:1.3.9'
}
我的gradle.properties
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
我可以做些什么来加速应用程序的构建? 如果我只为调试版本构建一个版本,则构建需要3分钟,如果我在调试和发布中构建所有版本,则需要花费3个多小时。 大部分时间都是花费DEX任务。
答案 0 :(得分:1)
如果您使用的是Android Studio,最简单的解决方案是转到Preferences -> Gradle
并启用Offline Work
答案 1 :(得分:0)
这已经有一段时间了。
不幸的是,android studio的make似乎每次都执行干净,导致以前的DEX文件被删除。
AFAIK你不能做比你已经做的更多的事情。 这是谷歌应该努力的事情(关于DEX阶段)。
参见相关内容:Building and running app via Gradle and Android Studio is slower than via Eclipse
答案 2 :(得分:0)
也许你可以尝试新的实验性android工具链Jack和Jill: http://tools.android.com/tech-docs/jackandjill