2016-01-15 15 views
6

Mi sono guardato intorno allo some of the answers postato qui su questo errore ma non ho avuto fortuna. Spero di ottenere qualche chiarimento su cosa sta succedendo. il mio errore è la seguente:Duplicate File copiati in APK META-INF quando Gradle building

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/maven/commons-io/commons-io/pom.xml File1: /home/colin/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-io/1.3.2/b6dde38349ba9bb5e6ea6320531eae969985dae5/commons-io-1.3.2.jar File2: /home/colin/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/1.3.2/b6dde38349ba9bb5e6ea6320531eae969985dae5/commons-io-1.3.2.jar

ho fatto

packagingOptions { 
    exclude 'META-INF/DEPENDENCIES' 
    exclude 'META-INF/LICENSE' 
    exclude 'META-INF/LICENSE.txt' 
    exclude 'META-INF/license.txt' 
    exclude 'META-INF/NOTICE' 
    exclude 'META-INF/NOTICE.txt' 
    exclude 'META-INF/notice.txt' 
    exclude 'META-INF/ASL2.0' 
} 

nel file app > build.gradle, ma il problema persiste. C'è qualche altro posto dovrei mettere questo, o forse solo cancellare qualche file? O forse ho escluso troppi file - Devo omettere alcune di queste righe, e in tal caso quali? Ho anche provato a spostare le dipendenze nella parte superiore, sopra Android inutilmente.

Inoltre sono un po 'confuso su alcuni dei consigli dati in questi post. Qual è la differenza operativa tra Exclude e PickFirst? Sembrano essere intercambiabili ma esprimono idee molto diverse. Sembra che sia necessario includere una licenza per il caricamento nell'app store, quindi se lo escludo qui per compilare l'app, dove lo includo in un secondo momento quando sono pronto per caricare? Spero che qualcuno possa fare più luce su quello che sta succedendo qui.

risposta

13

ho dovuto aggiungere le seguenti linee al packagingOptions {}

exclude 'META-INF/maven/commons-io/commons-io/pom.xml' 
exclude 'META-INF/maven/commons-io/commons-io/pom.properties' 

Il mio problema era abbastanza insensato; includendo exclude 'META-INF/maven/commons-io/commons-io/pom.xml' ho ricevuto un errore che sembrava molto simile al primo, ma in realtà era diverso. aggiungendo exclude 'META-INF/maven/commons-io/commons-io/pom.properties' finalmente ha funzionato tutto. Ancora non sono sicuro del perché esattamente devo fare questi passi però.

+0

Risposta perfetta grazie @ Csteel5 – Bytecode

+0

Nessun problema! Sono confortato dal fatto che così tante altre persone hanno riscontrato questo problema banale: P – Csteele5

+0

di fronte allo stesso numero. quando si aggiunge 'compile 'org.apache.commons: commons-io: 1.3.2''. Sai perché sono inclusi sia "commons-io" che "org.apache.commons" ?? Sembrano essere le stesse cose. –

Problemi correlati