Fehlermeldung in Android-Studio

  • 5 Antworten
  • Letztes Antwortdatum
A

Aquarius66

Neues Mitglied
0
Guten Morgen, ich habe da ein Problem mit einer Fehlermeldung in Android Studio.
Code:
Duplicate class android.support.v4.app.INotificationSideChannel found in modules core-1.15.0.aar -> core-1.15.0-runtime (androidx.core:core:1.15.0) and support-compat-26.1.0.aar -> support-compat-26.1.0-runtime (com.android.support:support-compat:26.1.0)
Ich vermute mal das mit moduls die build.gradle.kts(Module:app) gemeint ist. Aber stehen solche Bezeichnungen nicht. Wo finde ich das, dass ich eine entfernen kann?
Außerdem habe ich garnichts an den Dependencies verändert. Gestern liefs noch und heute nicht mehr. Ich hatte nur unter android
Code:
dataBinding {
        enabled true
    }
eingefügt. Hat mir beim synchronisieren einen Fehler angezeigt. Muss wohl schon älter sein. Das hab ich wieder rausgenommen und dann wieder sync gedrückt. Seid dem bekomm ich die Duplicat class Fehlermeldung, wenn ich die App im Emulator starten will.
Oh, sorry! Ich hab gar nicht bemerkt, dass ich noch im Vorstellunsbereich bin. Tut mir Leid! Thema kann vom Admin verschoben werden.
 
Zuletzt bearbeitet:
ich arbeite leider nicht mehr mit den älteren v4 Abhängigkeiten , deshalb kann ich auch nicht für Dich eruieren , woher INotificationSideChannel wirklich kommt.


Schon mal ein Invalidate Cache gefahren ?
 
Zuletzt bearbeitet:
Da ich auch nur durch TutorialVideos schauen oder eben Problemlösungen in verschiedenen Foren lesen, den Code für Apps basteln im Android Studio bekomme, habe ich keine Ahnung, was ein Invalidate Cache ist. Deshalb poste ich ja auch hier mein Problem. Ich habe erst im Oktober diesen Jahres Android Studio runtergeladen, dürfte also ziemlich aktuell sein (vonwegen ältere v4 Abhängigkeiten)
 
@Aquarius66


vonwegen ältere v4 Abhängigkeiten
Entschuldige bitte vielmals, dass ich Dir als hauptberuflicher Entwickler antworte - und wenn ich von der Verwendung "v4 veraltet" schreibe ,dann weis ich, wovon ich spreche. - Ich kann es auch sein lassen, wenn du das möchtest :)

Für mich ist es daher nicht nachvollziehbar, warum du Deine gradle.properties nicht auf androidx umstellst und somit abhängigkeits-kompatibel zu den aktuellen Bibliotheken bist.
Und warum du dennoch v4 Calls einbindest ( wahrscheinlich aus deinen zahlreichen Tutorials ) auch nicht.


Ich habe erst im Oktober diesen Jahres Android Studio runtergeladen
habe ich keine Ahnung, was ein Invalidate Cache ist
Dann würde ich Dir einmal wärmstens an Herz legen , sich vorher mit deiner EntwicklerUmgebung auseinander zu setzen, bevor du mit Dieser arbeitest.

Ein Blick (seit Oktober) in dein Menü hätte dabei vollkommen ausgereicht : File -> Invalidate Caches


Sehr seltsamer und bestimmt nicht zielführender Auftritt Deinerseits
 
Zuletzt bearbeitet:
Entschuldige bitte, dass ich ein paar Dinge über App-Entwicklung nicht weiss. Ich fang ja gerade erst an.
Eigentlich steht ja in der Fehlermeldung was falsch ist. Es ist Klasse zuviel vorhanden. Ich weiss nur nicht, wo die angegeben Klassen zufinden sind, um eine entfernen zu können. Ein Invalidate Caches hat nichts gebracht. Fehlermeldung kommt danach genauso wieder.
 
Ich fang ja gerade erst an. - (vonwegen ältere v4 Abhängigkeiten)
Dann sollte man erst recht nicht technisch begründete Antworten kritisieren, sondern vorher einmal recherchieren , ob das evt. Sinn ergeben würde. - Denn es war bereits die Ursache deines Problems. (Post #2)



Zum Thema :

Da ich auch nur durch TutorialVideos schauen ..... oder eben Problemlösungen in verschiedenen Foren lesen, den Code für Apps basteln
Die 1:1 Übernahme von Tutorials aus dem Netz sollte man tunlichst vermeiden.
Insbesondere deshalb, da sie zum größten Teil schon zum Zeitpunkt der Veröffentlichung sehr sehr selten nicht mehr dem aktuellen Stand entsprechen.

Ja, man kann Diese zwar als "Anhaltspunkt" zur Problemstellung nutzen, müssen aber meist dennoch auf den aktuellen Stand portiert werden.

Also Anschauen, Technik verstehen, Google API Dokumentation nehmen und damit dann ausschließlich selbst umsetzen.
Das ist der einzige gangbare Weg - Ich kenne keinen Web - Artikel, der keine Anpassung benötigt.

Damit aber leider nicht genug :

Je nach API-Zielplattform solltest du diese Portierungen natürlich nochmals unterscheiden.
Denn ein und der selbe Code läuft nicht auf deinem/ jedem Gerät / Emulator.

Hier also Dein tägliches "Gebetsbuch" zum Ziel
- Dort steht alles sehr detailliert drin ,was man benötigt und wie es aktuell umgesetzt wird.
Android API reference | Android Developers



Zu deinem angedachten Workaround:

Es ist Klasse zuviel vorhanden.
Nein, ist sie eindeutig nicht.

Das ist auch in dem Falle keine Klasse, sondern ein v4 Interface. (android.support.v4.app.INotificationSideChannel)
1734959490604.png
Quelle: sdk/sources/android-20/android/support/v4/app/INotificationSideChannel.java - android_tools - Git at Google


Schau Dir mal bitte deinen Fehler aus Post#1 genau an -

Hier wird angemeckert, dass Du v4 (alt) und androidx (neu) Techniken gleichzeitig verwendest. (compat / support)
Der Compiler weis nicht, was er beim Binden tun soll.

Dazu gibt es auch extra die dafür zahlreich verfügbaren AndroidX Migrations-Tools in AndroidStudio

Ich weiss nur nicht, wo die angegeben Klassen zufinden sind, um eine entfernen zu können
Nicht "entfernen" (geht auch nicht) - schlichtweg nicht verwenden und das dem Compiler mitteilen.
(bei LadyBug -> androidx -> default)


Noch zwei Tipps zum Schluss :

a) als Anfänger muss man auch i.d.R. nichts an den Gradles rumschrauben. (Post#1)
Maximal dependencies (mit Vorsicht und Wissen), compileSdk ,minSdk und targetSdk editieren.
b) Benutze am Besten die integrierte Versionsprüfung (VCS) für deine Arbeit (o. GitHub/GitLab)
- dann suchst Du dir auch nicht den Wolf.


Viel Erfolg !
 
Zuletzt bearbeitet:

Ähnliche Themen

T
Antworten
0
Aufrufe
149
tomasherrmann
T
D
Antworten
23
Aufrufe
3.928
Data2006
D
5
Antworten
0
Aufrufe
1.353
586920
5
Zurück
Oben Unten