web-dev-qa-db-de.com

Android Studio - Fehler: Programmtyp bereits vorhanden

Wenn ich versuche, den Code zu kompilieren, wird in Android Studio 3.0.1 der folgende Fehler angezeigt 

Error:Program type already present: com.squareup.picasso.Action$RequestWeakReference

Mein Gradle-Code:

  ...
    compile 'com.Android.support:appcompat-v7:26.1.0'
    compile 'com.Android.support:design:26.1.0'
    compile 'com.Android.support:support-v4:26.1.0'
    compile 'com.Android.support:support-vector-drawable:26.1.0'
    compile 'com.Android.support.constraint:constraint-layout:1.1.0-beta4'
    compile 'com.google.firebase:firebase-messaging:11.8.0'
    compile 'com.google.firebase:firebase-ads:11.8.0'
    compile 'com.google.gms:google-services:3.1.0'
    compile 'com.google.Android.gms:play-services:11.8.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    testCompile 'junit:junit:4.12'

}

apply plugin: 'com.google.gms.google-services'

Wie behebe ich mein Gradle-Skript, um den Fehler zu beheben? 

19
Marcostox

Fügen Sie dies Ihrer Modulbuild.gradle-Datei hinzu 

  configurations.all {exclude group: 'com.Android.support', module: 'support-v13'}
12
Melad

Ich hatte gerade das gleiche Problem, also werde ich die Lösung teilen, die für mich funktioniert hat. Mein Fehler war: 

Program type already present: org.json.CDL 

und es begann zu erscheinen, nachdem ich meiner Gradle-Datei compra acra hinzugefügt hatte. Die Lösung bestand also darin, Acra wie folgt hinzuzufügen: 

    compile('ch.acra:acra:4.5.0') {
    exclude group: 'org.json'
}   

Im Fall von OP wäre die Lösung also herauszufinden, welche seiner Abhängigkeiten bereits com.squareup.picasso kompiliert und wie im obigen Code ausschließt.

5
Stormtrooper

Überprüfen Sie die Kompilierungsversion in Ihren App-Einstellungen. Ich habe es auf die Version umgestellt, die mit der API-Ebene kompatibel ist, mit der ich mein Projekt mit ..__ erstellt habe. Dies hat das Problem für mich behoben.

4
ThomaciousD

Nachdem ich Android Studio auf 3.1.2 und targetSdkVersion auf 27 aufgerüstet hatte, sah ich den Albtraum mehrerer Probleme beim Aufbau von APK. Dies war einer von ihnen.

implementation 'me.leolin:ShortcutBadger:[email protected]' 

Diese Zeile verursacht Build-Fehler Program type already present: me.leolin.shortcutbadger.Badger

Im Moment habe ich es nur kommentiert und es wurde reibungslos kompiliert.

2
Atul

Ok, vielleicht ist es nicht Ihr Fall, aber dies ist die Nachricht, die auch im folgenden Szenario aus der Kompilierung kommt

Ich habe eine App erstellt. Dann habe ich die gradle-Datei der App so geändert, dass eine aar-Datei anstelle einer apk erzeugt wird (d. H. apply plugin: 'com.Android.library'], um einige der Methoden zu verschieben, die von der ursprünglichen App aufgerufen werden mussten

Dann kommentierte ich - in der ursprünglichen App - die Methoden, die ich in der AAR-Datei verschoben hatte, und fügte die zuvor erstellte AAR-Datei zum App-Projekt hinzu

An diesem Punkt bekam ich den gleichen Fehler 

Die Nachricht Error:Program type already present half mir zu verstehen, dass ich den Paketnamen des Android Studio-Projekts, in dem die Bibliothek erstellt wurde, umbenennen musste, da beide den gleichen Paketnamen verwendeten. Also habe ich es umbenannt, die aar-Datei neu erstellt und diese "neue" Datei dem Android Studio-Projekt hinzugefügt, das die apk erstellt

Sobald dies erledigt war, verschwand das Problem

1
Antonino

Es gibt einen Konflikt bei der Bibliotheksversion. Wenn Sie eine neuere Version von Android Studio verwenden, wird der Fehler abgefangen. Lösen Sie die Versionskonflikt- oder Änderungskompilierungsversion auf, und Sie werden ausgeführt . Siehe die hier definierten Abhängigkeiten

1
Kiran Maniya

Dies kann passieren, wenn die Bibliotheksversion nicht übereinstimmt.

In meinem Fall, wenn ich die Google Services-Abhängigkeiten aktualisiert habe:

classpath 'com.google.gms:google-services:3.0.0'

zu

classpath 'com.google.gms:google-services:3.2.1'

der Fehler ging weg.

1
crubio

dies geschieht, wenn Sie doppelte Abhängigkeiten haben. Listen Sie alle Abhängigkeiten mit ./gradlew app:dependencies auf.

dolch und Robolectric sind zum Beispiel von der Guave abhängig, aber die neueste Version des Dolches verwendet Guava 23+, während Robolectric 20+ verwendet.

0

Dies ist der Fall, wenn Sie eine Bibliotheks-Build-Version aktualisieren und die alte Build-Datei nicht eindeutig ist. Oder andere Bibliotheken hängen von der Bibliothek ab. In meinem Fall aktualisiere ich com.google.gms:google-services

Die Lösung besteht darin, Ihren Projektordner und den build-Ordner zu löschen und den Cache (Datei> Invalidate Caches/Restart) erneut zu öffnen und zu löschen. 

0

Ich bin auf diesen Fehler in Android Studio 3.1.2 gestoßen, nachdem ich einem Java-Projekt Kotlin-Unterstützung hinzugefügt hatte. Danach wurden alle Kotlin-Dateien entfernt (die Gradle-Konfiguration wurde jedoch beibehalten). Durch das Entfernen der Kotlin-Konfiguration wurde dieses Problem behoben.

0
cro

Dieser Fehler trat für mich auf, wenn meine build.gradle-Datei eine ungültige Zeile enthielt.

Ich habe eine .jar-Datei als Bibliothek hinzugefügt, und der Build ist fehlgeschlagen. Ich habe die build.gradle -Datei überprüft und irgendwie enthielt sie zwei Zeilen:

implementation files('libs/bcprov.jar')
implementation files('bcprov.jar')

Natürlich habe ich nur die .jar zum libs-Ordner hinzugefügt, daher ist die zweite Zeile ungültig. Nachdem ich die zweite Zeile gelöscht habe, ist der Fehler verschwunden.

Hoffe das hilft jemandem.

0
G. Ihasz