2015-07-24 6 views
6

Il mio progetto contiene 3 librerie: calendar_cmcc, Wheel_library e yellowPage_lib.Gradle finito con valore di uscita diverso da zero 3

posso costruire il progetto perfettamente, ma Gradle getta un errore quando ho eseguito it.Here è l'errore:

Error:Execution failed for task ':app:dexDebug'. 

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/home/jim/tools/jdk1.8.0_45/bin/java'' finished with non-zero exit value 3

elenco di file Gradle:

app build.gradle :

apply plugin: 'com.android.application' 

     android { 

      compileSdkVersion 21 
      buildToolsVersion '21.1.2' 

      defaultConfig { 
       applicationId "cn.com.geartech.app" 
       minSdkVersion 17 
       targetSdkVersion 19 
       versionCode 100 //from 20 to 21 
       //cmcc0000522 is 26 
       //0608 is 
       // 27 
       //0615 is 27 
       //0616 is 27 
       //1.2.20 36 
       versionName "1.2.26.10" 
       multiDexEnabled = true 
      } 
      buildTypes { 
       release { 
        minifyEnabled false 
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
       } 

       debug { 
        signingConfig signingConfigs.deb 
       } 
      } 
      packagingOptions { 
       exclude 'META-INF/DEPENDENCIES' 
       exclude 'META-INF/NOTICE' 
       exclude 'META-INF/LICENSE' 
       exclude 'META-INF/LICENSE.txt' 
       exclude 'META-INF/NOTICE.txt' 
       exclude 'META-INF/ASL2.0' 
      } 
      sourceSets { 
       main { 
        jniLibs.srcDir 'src/main/libs' 
       } 
      } 
      compileOptions { 
       sourceCompatibility JavaVersion.VERSION_1_7 
       targetCompatibility JavaVersion.VERSION_1_7 
      } 
     } 

     dependencies { 
      compile 'com.android.support:support-v4:20.+' 
      compile 'com.android.support:recyclerview-v7:21.0.0' 
      compile 'com.daimajia.swipelayout:library:[email protected]' 
      compile 'jp.wasabeef:recyclerview-animators:[email protected]' 
      compile fileTree(include: ['*.jar'], dir: 'libs') 
      compile files('src/main/libs/commons-io-2.4.jar') 
      compile files('src/main/libs/httpmime-4.1.1.jar') 
      compile files('src/main/libs/pinyin4j-2.5.0.jar') 
      compile files('src/main/libs/universal-image-loader-1.9.3-with-sources.jar') 
      compile files('src/main/libs/zxing.jar') 
      compile 'com.sothree.slidinguppanel:library:3.0.0' 
      compile files('src/main/libs/cmcc-sso-sdk.jar') 
      compile files('src/main/libs/cmcc-sso.jar') 
      compile files('src/main/libs/cmcc_enc.jar') 
      compile files('src/main/libs/AOE_20140617_001.jar') 
      compile files('src/main/libs/sync_sdk_ydyjyxgh_20150304.jar') 
      compile files('src/main/libs/fastjson-1.2.5.jar') 
      compile project(':yellowPage_lib') 
      compile project(':Wheel_library') 
      compile project(':calendar_cmcc') 
      compile files('src/main/libs/pinyin4j.jar') 
      compile files('src/main/libs/gcordSDK.jar') 
     } 

build.gradle di calendar_cmcc:

apply plugin: 'com.android.library' 

    android { 
     compileSdkVersion 21 
     buildToolsVersion "21.1.2" 

     defaultConfig { 
      minSdkVersion 17 
      targetSdkVersion 17 
      versionCode 1 
      versionName "1.0" 
     } 
     buildTypes { 
      release { 
       minifyEnabled false 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      } 
     } 
     productFlavors { 
     } 
     lintOptions { 
      abortOnError false 
     } 
     packagingOptions { 
      exclude 'META-INF/LICENSE.txt' 
      exclude 'META-INF/NOTICE.txt' 
     } 
    } 
    configurations.all { 
     exclude module: 'commons-logging' 
    } 
    dependencies { 
     compile fileTree(include: ['*.jar'], dir: 'libs') 
     compile 'commons-lang:commons-lang:2.6' 
     compile 'commons-io:commons-io:2.4' 
     compile 'org.projectlombok:lombok:1.14.8' 
     compile 'org.mnode.ical4j:ical4j:1.0.6' 
     compile('com.googlecode.ez-vcard:ez-vcard:0.9.6') { 
      exclude group: 'org.jsoup', module: 'jsoup' 
      exclude group: 'org.freemarker', module: 'freemarker' 
      exclude group: 'com.fasterxml.jackson.core', module: 'jackson-core' 
     } 
     compile 'dnsjava:dnsjava:2.1.6' 
     compile files('lib/httpclient-android-4.3.5.2-davdroid1.jar') 
     compile('org.simpleframework:simple-xml:2.7.1') { 
      exclude group: 'stax', module: 'stax-api' 
      exclude group: 'xpp3', module: 'xpp3' 
     } 
     compile 'com.android.support:appcompat-v7:18.0.0' 
     compile files('libs/android-common-chips.jar') 
     compile files('libs/android-common.jar') 
     compile files('libs/calendar-common.jar') 
    } 

build.gradle di Wheel_library:

apply plugin: 'com.android.library' 
    android { 
     compileSdkVersion 21 
     buildToolsVersion '21.1.2' 

     defaultConfig { 
      minSdkVersion 17 
      targetSdkVersion 19 
      versionCode 1 
      versionName "1.0" 
     } 
     buildTypes { 
      release { 
       minifyEnabled false 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      } 
     } 
    } 

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

build.gradle di yellowPage_lib:

 apply plugin: 'com.android.library' 

     android { 
      compileSdkVersion 21 
      buildToolsVersion '21.1.2' 

      defaultConfig { 
       minSdkVersion 8 
       targetSdkVersion 19 
      } 

      buildTypes { 
       release { 
        minifyEnabled false 
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
       } 
      } 
     } 

     dependencies { 
      compile 'com.android.support:support-v4:19.+' 
      compile files('libs/BaiduLBS_Android.jar') 
      compile files('libs/YellowPage_SDK.jar') 
     } 

Ora, tutto quello che sempre conosciuto è che l'errore è stato causato da calendar_cmcc's file build.gradle. Quando cambio 'compile' a 'fornito' di dipendenze da calendar_cmcc's build.gradle, funziona correttamente.

dependencies { 
     compile fileTree(include: ['*.jar'], dir: 'libs') 
     compile 'commons-lang:commons-lang:2.6' 
     compile 'commons-io:commons-io:2.4' 
     compile 'org.projectlombok:lombok:1.14.8' 
     compile 'org.mnode.ical4j:ical4j:1.0.6' 
     compile('com.googlecode.ez-vcard:ez-vcard:0.9.6') { 
      exclude group: 'org.jsoup', module: 'jsoup' 
      exclude group: 'org.freemarker', module: 'freemarker' 
      exclude group: 'com.fasterxml.jackson.core', module: 'jackson-core' 
     } 
     compile 'dnsjava:dnsjava:2.1.6' 
     compile files('lib/httpclient-android-4.3.5.2-davdroid1.jar') 
     compile('org.simpleframework:simple-xml:2.7.1') { 
      exclude group: 'stax', module: 'stax-api' 
      exclude group: 'xpp3', module: 'xpp3' 
     } 
     compile 'com.android.support:appcompat-v7:18.0.0' 
     compile files('libs/android-common-chips.jar') 
     compile files('libs/android-common.jar') 
     compile files('libs/calendar-common.jar') 
    } 

cambiata in

dependencies { 
     compile fileTree(include: ['*.jar'], dir: 'libs') 
     compile 'commons-lang:commons-lang:2.6' 
     compile 'commons-io:commons-io:2.4' 
     provided 'org.projectlombok:lombok:1.14.8' 
     provided 'org.mnode.ical4j:ical4j:1.0.6' 
     provided ('com.googlecode.ez-vcard:ez-vcard:0.9.6') { 
      exclude group: 'org.jsoup', module: 'jsoup' 
      exclude group: 'org.freemarker', module: 'freemarker' 
      exclude group: 'com.fasterxml.jackson.core', module: 'jackson-core' 
     } 
     compile 'dnsjava:dnsjava:2.1.6' 
     compile files('lib/httpclient-android-4.3.5.2-davdroid1.jar') 
     compile('org.simpleframework:simple-xml:2.7.1') { 
      exclude group: 'stax', module: 'stax-api' 
      exclude group: 'xpp3', module: 'xpp3' 
     } 
     compile 'com.android.support:appcompat-v7:18.0.0' 
     compile files('libs/android-common-chips.jar') 
     compile files('libs/android-common.jar') 
     compile files('libs/calendar-common.jar') 
    } 

ma causerà un altro errore:

07-24 15:54:41.991 32166-1373/cn.com.geartech.app E/dalvikvm﹕ Could not find class 'net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory', referenced from method at.bitfire.davdroid.resource.Event.<clinit> 
    07-24 15:54:42.001 32166-1373/cn.com.geartech.app E/dalvikvm﹕ Could not find class 'net.fortuna.ical4j.data.CalendarBuilder', referenced from method at.bitfire.davdroid.resource.Event.TimezoneDefToTzId 
    07-24 15:54:42.021 32166-1373/cn.com.geartech.app E/dalvikvm﹕ Could not find class 'net.fortuna.ical4j.util.UidGenerator', referenced from method at.bitfire.davdroid.resource.Event.generateUID 
    07-24 15:54:42.061 32166-1373/cn.com.geartech.app E/dalvikvm﹕ Could not find class 'net.fortuna.ical4j.data.CalendarBuilder', referenced from method at.bitfire.davdroid.resource.Event.parseEntity 

Sembra che il org.mnode.ical4j non può essere pacchetto in apk quando la build del gradle.

Ho cercato la risposta sullo stackoverflow per molti giorni, ma non può funzionare. Quindi, come dovrei fare? ! Aiuto, grazie

+3

ho risolto da myself.When il progetto contiene troppi file, Android Studio lancerà un problema: finito con valore diverso da zero uscita 3.It è un limite per lo studio Android, ma non per IntelliJ IDEA. Quindi, aggiungete: dexOptions { javaMaxHeapSize "4g" } ai vostri file app.gradle, e funzionerà bene. Probabilmente, dopo aver risolto il problema, parliamo di sopra.Ciò causerà un altro problema: non trovato ***. jar o ***. file di classe. Dovrebbe essere il problema con il metodo 65k, quindi dovresti cercare questo link: https: //developer.android.com/tools/building/multidex.html –

risposta

18

I ri-post la risposta di jim.zhang qui:! (dal momento che la prima volta che ho vista questa domanda, mi mancava il commento di Zhang)

Aggiungere di seguito configurare nel file di build.gradle .

dexOptions { 
    javaMaxHeapSize "4g" 
} 
+1

Grazie! E possibilmente, causerà un altro problema: non trovato ***. Jar o ***.Classe files.It dovrebbe essere il problema 65k metodo, in modo da shuld guarda questo link: developer.android.com/tools/building/multidex.html –

+0

ho fatto la stessa prova ad aggiungere: Android {{ dexOptions javaMaxHeapSize "4g " } } in build.gradle. Grazie @ Anh-Tuan Mai – Alexiscanny