2015-04-28 182 views
2

我有一個Gradle構建,有32種風格並構建5個小時?Gradle構建(Android項目)非常緩慢

這裏是我的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個小時。 大部分時間Gradle是DEX任務的消耗。

+0

你確定這是你的應用程序正確構建結構? 32種口味是相當多的...也許你的解決方案不應該增加建設速度,但減少口味的數量。生成時間爲32種* 2種構建類型(調試/發佈)* 3分鐘=約3小時,就像你說的那樣。 – Aster

+0

您是否考慮建造32臺電腦的電腦農場? – Thomas

回答

1

如果你使用的是Android Studio中的最簡單的方法就是去Preferences -> Gradle,使Offline Work

相關問題