2017-08-05 4 views
0

In meinem neu erstellten Android-Projekt verwende ich die Jackson JSON/XML-Parser-Bibliothek. Das Problem ist, wenn man versucht zu bauen. Ich erhalte diese Ausnahme:Android Build Error: DuplicateFileException

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/LICENSE 

Das Problem ist, dass die Bibliothek von drei JAR-Dateien besteht, die jeweils eine eigene Lizenzdatei enthält, und jeder von ihnen „LIZENZ“ genannt, daher die Fehler. Siehe das Bild:

three jars

Jetzt habe ich recherchiert, wie es zu beheben, und es gibt eine ganze Menge von Stackoverflow Fragen genau dieses Problems in Bezug auf, aber alle von ihnen nur der Lösung geben, die Lizenz-Dateien aus der Verpackung auszuschließen : packagingOptions mit dieser Lösung { ausschließen 'META-INF/LIZENZ' }

Mein Problem ist (oder alternativ verwenden "Pickfirst" statt "auszuschließen"), dass ich glaube, dass in dem Schiff APK, die Lizenzen dürfen nicht fehlen, sonst könnte ich rechtliche Probleme bekommen. Gibt es eine andere Lösung (wie Force-Umbenennen zu LICENSE-1 oder was auch immer)?

Antwort

1

App build.gradle ändern:

android { 
    ... 
    packagingOptions { 
     exclude 'META-INF/LICENSE' // add this 
    } 
} 

einzigartige Lizenzen Vermögenswerte Put und alle Lizenzen für die Show Ansicht erstellen