2015-04-28 3 views
2

У меня есть конструкция градиента, которая имеет 32 аромата и строит в течение 5 часов?Gradle build (Android project) очень медленный

Вот мой 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

Вы уверены, что это правильная структура сборки для вашего приложения? 32 вкусов довольно много ... Может быть, ваше решение не должно увеличивать скорость сборки, а уменьшать количество вкусов. Время сборки - 32 варианта * 2 типа сборки (отладка/выпуск) * 3 минуты = примерно 3 часа, как вы сказали. – Aster

+0

Вы решили построить компьютерную ферму из 32 компьютеров? – Thomas

ответ

0

Это было вокруг в течение некоторого времени.

К сожалению, дизайн студии android делает работу каждый раз чистым, в результате чего файлы DEX'd будут удалены ранее.

AFAIK вы не можете делать больше, чем вы уже делали. Это то, над чем должен работать Google (относительно фазы DEX).

См родственный: Building and running app via Gradle and Android Studio is slower than via Eclipse

1

Если вы используете Android Studio, самое простое решение, это пойти в Preferences -> Gradle и включить Offline Work

0

Может быть, вы могли бы попробовать новый экспериментальный андроид набор инструментов Джек и Джилл: http://tools.android.com/tech-docs/jackandjill

+0

Это, кажется, мертвый проект? Обновления останавливаются на уровне gradle 1.0.0, тогда как 1.3 доступен. – 3c71

Смежные вопросы