Gradle Fehler - Duplicate kopiert Dateien in APK AndroidManifest.xml
Ich versuche, um eine Bibliothek zu importieren (Evernote Android-SDK) in Android-Studio. Ich habe gradle zu finden und es herunterladen (Es zeigte sich in den Externen Bibliotheken, die Teil-oder Projekt-Explorer). Dann begann es, mir zu sagen, es war erstellen ein Duplikat der Datei.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile 'com.android.support:support-v4:13.0.+'
compile 'com.evernote:android-sdk:1.1.+'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 16
}
}
Dies ist die Reihe von Fehlern, die auftauchen.
Gradle: : duplicate files during packaging of APK C:\Users\SSMI\My Projects\AutoNote\AndroidProject\AutoNote\build\apk\AutoNote-debug-unaligned.apk
Gradle: Execution failed for task ':AutoNote:packageDebug'.
> Duplicate files copied in APK AndroidManifest.xml
File 1: C:\Users\SSMI\My Projects\AutoNote\AndroidProject\AutoNote\build\libs\AutoNote-debug.ap_
File 2: C:\Users\SSMI\My Projects\AutoNote\AndroidProject\AutoNote\build\libs\AutoNote-debug.ap_
Was ist hier das problem und wie kann ich es beheben?
Antwort
Also was ich habe ist ein Ordner in der Projekt-root genannt Bibliotheken. Ich zog die evernote-sdk-library-Ordner in das und es mit dem Namen evernote.
Dann ging ich in die Datei-Struktur des Projektes. Ich ignorierte die Warnung. Ich ging in die Module angeklickt die + und-Hinzugefügt wurde die evernote-Ordner. Ich wählte dann meine Modul-app-Projekt und ging auf die Registerkarte Abhängigkeiten. Ich hit + es (möglicherweise müssen Sie Alt+Einfügen, wenn es nicht klicken) und Hinzugefügt, das Modul habe ich importiert (evernote).
Dann wurde ich dazu verleitet, zu denken, es hat nicht funktioniert, weil ich vergessen habe, um es zu importieren der Quelldateien.
- Bitte überprüfen Sie die Struktur Ihres Projekts (Datei -> Projekt-Struktur). Wie ist Ihre evernote-lib enthalten, um Ihr Projekt? Es sollte Hinzugefügt werden, einmal als Modul.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube nicht, dass Sie verweisen können die Evernote Android-SDK durch maven mit Android Studio. Das problem ergibt sich aus der Tatsache, dass Android-Bibliotheken können nicht verpackt werden, als ein einfaches Glas.
Dem Evernote-Bibliothek wurde mit Hilfe der maven-android-plugin ist nicht kompatibel mit dem Android Studio gradle-plugin. Dies ist, da das maven-plugin verwendet die apklib - format für die Verteilung in Bibliotheken, in der Erwägung, dass gradle verwendet die neue aar - format. Das ist, warum gradle Probleme beim Zusammenführen von Evernote AndroidManifest mit Ihrer eigenen, was zu Duplikaten.
Stattdessen haben Sie den Klon des Evernote-SDK-Quelle manuell importieren Sie Sie in Android Studio, und siehe es so. Ihre readme-Datei enthält Anweisungen, dies zu tun mit Intellij, die die gleiche sein sollte wie Android-Studio.
Ich hatte den gleichen Fehler, und es scheint verursacht zu sein durch eine Datei mit dem gleichen Namen in beiden jar-Dateien. für mich, die beiden Dateien hatte eine Datei namens "about.html" in Ihrem root-Verzeichnis. Nach dem umbenennen der Datei, hat alles geklappt.
Haben Sie Hinzugefügt, eine Bibliothek jar innerhalb enthalten Manifest.xml Datei
Sie können Sie umbenennen, geben jar zip. Dann entpacken Sie die zip und entfernen Manifest.xml Datei.
Danach können Sie den Ordner komprimieren, um zip wieder. Schließlich benennen Sie den Typ jar.