2017-10-24 1 views
0

Ich konvertiere meine Eclipse-Projekt in Android Studio durch Hinzufügen von Code verschiedener Dateien wie Menifest, Java, Res manuell.Wenn ich das Projekt ausführen zeigt es Fehler:Fehler: Ausführung fehlgeschlagen für Aufgabe ': app: transformClassesWithJarMergingForDebug' doppelten Eintrag

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/annotation/IntegerRes.class 

Hier ist meine gradle Datei:

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 25 
buildToolsVersion "25.0.3" 
useLibrary 'org.apache.http.legacy' 

defaultConfig { 

    applicationId "com.example.tms032.demo_pos_rs" 
    minSdkVersion 19 
    targetSdkVersion 25 
    versionCode 1 
    versionName "1.0" 
    multiDexEnabled true 
    testInstrumentationRunner 
    "android.support.test.runner.AndroidJUnitRunner" 
} 


buildTypes { 
    release { 

     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 
'proguard-rules.pro' 
    } 
} 
} 

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 'com.android.support:appcompat-v7:25.3.1' 
compile 'com.android.support:design:25.3.1' 
compile 'com.android.support:support-v4:25.3.1' 
compile 'com.android.support:multidex:1.0.1' 
compile project(':CustomCalendarView') 
compile files('libs/commons-discovery-0.2.jar') 
compile files('libs/commons-lang-2.5.jar') 
compile files('libs/gson-2.2.2.jar') 
compile files('libs/javax.wsdl_1.6.2.v201005080631.jar') 
compile files('libs/log4j-1.2.16.jar') 
compile files('libs/picasso-2.0.0.jar') 
compile files('libs/posindev.jar') 
compile files('libs/printingSDK-7.5.0-javadoc.jar') 
compile files('libs/sqljet.1.0.2.b885.jar') 
compile files('libs/upg_bridge.jar') 
testCompile 'junit:junit:4.12' 

}

Wie dieses Fehlers zu lesen bekommen? Ich habe viele Lösungen ausprobiert. aber keiner von ihnen funktioniert.

+1

Mögliche Duplikat [App: transformClassesWithJarMergingForDebug FAILED] (https://stackoverflow.com/questions/36763382/apptransformclasseswithjarmergingfordebug-failed) –

+0

Zwei Ihrer externen Bibliotheken die gleiche Klasse sharing „IntegerRes.class“ genannt, so versuchen, jede zu entfernen eine der libs wenn nicht benutzt. –

+2

Mögliches Duplikat von [Duplikateintrag für ': app: transformClassesWithJarMergingForDebug'] (https://Stackoverflow.com/questions/42782010/duplicate-entry-for-apptransformclasseswithjarmergingfordebug) –

Antwort

0
compile fileTree(include: ['*.jar'], dir: 'libs') 

compile files('libs/commons-discovery-0.2.jar') 

Sie kompilieren JAR-Dateien zweimal,

auch

wird es Problem, wenn es gleiche Bibliotheken mit unterschiedlicher Version,

Man könnte sie aus Glas Abhängigkeit wie unten ausschließen, aber das so gut wie nie funktioniert.

sourceSets { 
    main { 
     java { 
      include 'com/ourcompany/somepackage/activityadapter/**' 
      include 'com/ourcompany/someotherpackage/**' 
      exclude 'com/ourcompany/someotherpackage/polling/**' 
     } 
    } 

Die beste Option ist die neue Version von Repo statt Glas zu finden.

+0

Ich habe alle Kompilierdateien Abhängigkeiten entfernt n dann das Projekt ausführen, aber immer noch der gleiche Fehler angezeigt wird –

Verwandte Themen