2017-03-29 4 views
0

Ich weiß, das ist ein häufiges Problem, aber ich habe alle anderen Beiträge überprüft und keiner von ihnen geholfen. Viele von ihnen sind für Eclipse, und die für Android-Studio nicht helfen.Mehrere dex-Dateien definieren in Android Studio

Error:Execution failed for task ':app:transformClassesWithDexForDebug'. 
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/android/volley/VolleyError; 

Was ich versucht habe:

  • Suche durch Dateien nach doppelten VolleyError (nur eine VolleyError.java und ein VolleyError.class).
  • Reimport-Projekt von Github
  • Herunterladen von Github dann geöffnet von AS
  • löschen und eine neue Kopie von Android Studio

Zuerst habe ich den Bug bekommen neu installieren, dass es ein Repository, aber es gibt keine Git, also entferne ich einfach Volley (das hat für meinen Teamkollegen funktioniert). Dann, während alle anderen 4 Mitglieder es zur Arbeit bringen, gibt es dort Stände und Bugs. Darüber hinaus gibt es 4 Warnungen, ist unten, der Rest sind ähnlich:

Warning:warning: Ignoring InnerClasses attribute for an anonymous inner class 
(org.apache.commons.logging.impl.WeakHashtable$1) that doesn't come with an 
associated EnclosingMethod attribute. This class was probably produced by a 
compiler that did not target the modern .class file format. The recommended 
solution is to recompile the class from source, using an up-to-date compiler 
and without specifying any "-target" type options. The consequence of ignoring 
this warning is that reflective operations on this class will incorrectly 
indicate that it is *not* an inner class. 

Wenn es hilft, ist dies die gradle Datei unter:

apply plugin: 'com.android.application' 

dependencies { 

    compile fileTree(include: ['*.jar'], dir: 'libs') 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile files('libs/commons-logging-1.2.jar') 
    compile files('libs/com.fasterxml.jackson.databind.jar') 
    compile files('libs/gson-2.3.1.jar') 
    compile files('libs/httpclient-4.5.1.jar') 
    compile files('libs/httpcore-4.4.3.jar') 
    compile files('libs/jackson-core-2.7.1.jar') 
    compile files('libs/sun.misc.BASE64Decoder.jar') 
    compile files('libs/jackson-annotations-2.7.1.jar') 
    compile files('libs/jackson-databind-2.7.1-1.jar') 
    compile 'com.android.support:appcompat-v7:25.3.0' 
    compile 'com.android.support.constraint:constraint-layout:1.0.2' 
    compile 'com.mcxiaoke.volley:library-aar:1.0.0' 
    compile 'com.android.volley:volley:1.0.0' 
    compile 'com.android.support:recyclerview-v7:25.3.0' 
    compile 'com.android.support:gridlayout-v7:25.3.0' 
    compile 'com.android.support:cardview-v7:25.3.0' 
    compile 'com.android.support:design:25.3.0' 
    compile 'com.android.volley:volley:1.0.0' 
    testCompile 'junit:junit:4.12' 
} 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.2" 

    defaultConfig { 
     applicationId "com.csc301.team7.era" 
     minSdkVersion 15 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

    packagingOptions { 
     exclude 'META-INF/DEPENDENCIES.txt' 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE.txt' 
     exclude 'META-INF/NOTICE' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/DEPENDENCIES' 
     exclude 'META-INF/notice.txt' 
     exclude 'META-INF/license.txt' 
     exclude 'META-INF/dependencies.txt' 
     exclude 'META-INF/LGPL2.1' 
    } 
} 

zwei der zusätzlichen Volley Linien Entfernen in gradle wiederum gibt mir diesen Fehler in gradle:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'. 
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/fasterxml/jackson/databind/AbstractTypeResolver; 

aber ich kann AbstractTypeResolver nicht finden.

Bitte, jede Hilfe dieses Projekt zu laufen würde sehr geschätzt werden.

+0

tun Sie versuchen DefaultConfig { applicationId "com.csc301.team7.era" 15 minSdkVersion targetSdkVersion 25 version 1 version "1.0" \t multiDexEnabled wahr } – Elsunhoty

+0

multiDexEnabled wahr – Elsunhoty

+0

@Elsunhoty Thank you so viel, das hat funktioniert! Könnten Sie es als Antwort posten, damit ich es markieren kann? Und was ist mit der Warnung? Ist es in Ordnung für mich, sie zu ignorieren? –

Antwort

0

Dieser Fehler:

Ignoring InnerClasses attribute for an anonymous inner class 

ist ein Thema, auch ich hatte. Bei Verwendung von Proguard handelt es sich um ein Problem, das sich auf innere Klassen bezieht.

-keepattributes EnclosingMethod 
-keepattributes InnerClasses 

Proguard und innere Klassen oft zu Problemen führen: Es kann durch Zugabe der folgenden auf Ihre proguard Datei gelöst werden. Indem Sie die obigen Zeilen hinzufügen, geben Sie Proguard an, dass innere Klassen dort bleiben sollten, wo sie sind, und sie nicht so behandeln, als wären sie in ihren eigenen Dateien.

Verwandte Themen