Flutter-geolocator: Die Android-Abhängigkeit 'androidx.core:core' hat unterschiedliche Versionen für den Klassenpfad zum Kompilieren (1.0.0) und zur Laufzeit (1.0.1).

Erstellt am 12. März 2019  ·  15Kommentare  ·  Quelle: Baseflow/flutter-geolocator

🐛 Fehlerbericht


Hallo zusammen,

Kann dieses Plugin nicht installieren, habe verschiedene Versionen dieses Plugins ausprobiert (3.0.1, 3.0.0, 2.1.1, 2.1.0), aber keine hat nicht funktioniert. Ist jemand schon auf dieses Problem gestoßen?

pubsec.yaml

Name: flatter_app
Beschreibung: Eine neue Flutter-Anwendung.

Version: 1.1.0+1

Umgebung:
SDK: ">=2.1.0 <3.0.0"

Abhängigkeiten:
flattern:
sdk: flattern

cupertino_icons: ^0.1.2
Geolokalisierer: ^3.0.1
Erlaubnishandler: ^3.0.0
Meta: ^1.1.6
google_api_availability: ^2.0.0

dev_dependencies:
flatter_test:
sdk: flattern

flatter_launcher_icons: ^0.6.1

flatter_icons:
image_path: "assets/img/location.png"
Android: wahr

flattern:
verwendet-material-design: wahr
Vermögenswerte:
-assets/img/location.png
-assets/img/gps.png
-assets/img/no_gps.png

-assets/img/where.jpg

LocationPage.dart

import ' Paket:flattern/material.dart ';
import ' Paket:geolocator/geolocator.dart ';

Klasse LocationPage erweitert StatefulWidget {
@überschreiben
LocationPageState createState() => LocationPageState();
}

Klasse LocationPageState erweitert State{

initLocation()async{
Position position = erwarten Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
drucken (Position);
}

initState() {
super.initState();
initLocation();
}

@überschreiben
Widget-Build (BuildContext-Kontext) {
return Gerüst(...);
}

}

KONSOLENAUSGANG:

Ausführen von "flatter package get" in flatter_app... 0.6s
Starten von lib/main.dart auf MI 6 im Debug-Modus...
Gradle wird initialisiert...
Abhängigkeiten auflösen...
Gradle-Aufgabe 'assembleDebug' wird ausgeführt...

FAILURE: Build ist mit einer Ausnahme fehlgeschlagen.

  • Was schief gelaufen ist:
    Ausführung für Aufgabe ': app:preDebugBuild '

    Android-Abhängigkeit 'androidx. core:core ' hat unterschiedliche Versionen für den Compile- (1.0.0) und Runtime (1.0.1)-Klassenpfad. Sie sollten dieselbe Version manuell über DependencyResolution einstellen

  • Versuchen:
    Führen Sie die Option mit der Option --stacktrace aus, um den Stacktrace abzurufen. Führen Sie die Option mit --info oder --debug aus, um mehr Protokollausgaben zu erhalten. Führen Sie mit --scan aus, um vollständige Einblicke zu erhalten.

  • Weitere Hilfe erhalten Sie unter https://help.gradle.org

BAUEN FEHLGESCHLAGEN in 4s


Der Gradle-Fehler kann auf AndroidX-Inkompatibilitäten in dieser Flutter-App zurückzuführen sein.
Weitere Informationen zu dem Problem und seiner Behebung finden Sie unter https://goo.gl/CP92wY .


Mit Fehler beendet: Gradle-Aufgabe AssembleDebug ist mit Exit-Code 1 fehlgeschlagen

Reproduktionsschritte

Flatterlauf -d

Aufbau

Version: 3.0.1

Plattform:

  • [ ] :iphone: iOS
  • [*] :Roboter: Android

[✓] Flutter (Kanal stabil, v1.2.1, unter Mac OS X 10.13.6 17G65, Gebietsschema en-UA)
[✓] Android-Toolchain – Entwicklung für Android-Geräte (Android SDK Version 28.0.3)
[✓] iOS-Toolchain - für iOS-Geräte entwickeln (Xcode 10.1)
[✓] Android Studio (Version 3.3)
[✓] VS-Code (Version 1.31.1)
[✓] Verbundenes Gerät (1 verfügbar)

• Keine Probleme gefunden!

Hilfreichster Kommentar

Für mich habe ich die Android-Migration zur Gradle-Eigenschaftsdatei hinzugefügt und dann den Klassenpfad "com.android.tools" geändert. build:gradle :3.2.1' zum Klassenpfad 'com.android.tools. build:gradle :3.3.1'. Ich benutze Geolocator 3.0.1. folge diesem Link https://www.youtube.com/watch?v=ZRl4t2KdEHQ und mach dann was ich oben gesagt habe

Alle 15 Kommentare

Für mich habe ich die Android-Migration zur Gradle-Eigenschaftsdatei hinzugefügt und dann den Klassenpfad "com.android.tools" geändert. build:gradle :3.2.1' zum Klassenpfad 'com.android.tools. build:gradle :3.3.1'. Ich benutze Geolocator 3.0.1. folge diesem Link https://www.youtube.com/watch?v=ZRl4t2KdEHQ und mach dann was ich oben gesagt habe

ich

Für mich habe ich die Android-Migration zur Gradle-Eigenschaftsdatei hinzugefügt und dann den Klassenpfad "com.android.tools" geändert. build:gradle :3.2.1' zum Klassenpfad 'com.android.tools. build:gradle :3.3.1'. Ich benutze Geolocator 3.0.1. folge diesem Link https://www.youtube.com/watch?v=ZRl4t2KdEHQ und mach dann was ich oben gesagt habe

als ich das hinzugefügt habe (android.useAndroidX=true
android.enableJetifier=true)
zu den gradle eigenschaften hat es geklappt danke

Danke @aidooyaw1992 , das Ändern des Klassenpfads auf 3.3.1 hat auch bei mir funktioniert :)

ich

Für mich habe ich die Android-Migration zur Gradle-Eigenschaftsdatei hinzugefügt und dann den Klassenpfad "com.android.tools" geändert. build:gradle :3.2.1' zum Klassenpfad 'com.android.tools. build:gradle :3.3.1'. Ich benutze Geolocator 3.0.1. folge diesem Link https://www.youtube.com/watch?v=ZRl4t2KdEHQ und mach dann was ich oben gesagt habe

als ich das hinzugefügt habe (android.useAndroidX=true
android.enableJetifier=true)
zu den gradle eigenschaften hat es geklappt danke

Ich hatte diese Sets und das gleiche Problem trat auf.
Was für mich gelöst wurde, war der Tipp von @aidooyaw1992 , den Klassenpfad in gradle:3.3.1 zu

Danke, @aidooyaw1992!

Freut mich

Am Mo, 18 Mär 2019, 17:17 Uhr Matheus Henrique de Oliveira, <
[email protected]> schrieb:

ich

Für mich habe ich die Android-Migration zur Gradle-Eigenschaftsdatei hinzugefügt und
dann geänderter Klassenpfad 'com.android.tools. build:gradle :3.2.1' zum Klassenpfad
'com.android.tools. build:gradle :3.3.1'. Ich benutze Geolocator 3.0.1. Folgen
dieser Link https://www.youtube.com/watch?v=ZRl4t2KdEHQ und dann mach was ich
habe oben gesagt

als ich das hinzugefügt habe (android.useAndroidX=true
android.enableJetifier=true)
zu den gradle eigenschaften hat es geklappt danke

Ich hatte diese Sets und das gleiche Problem trat auf.
Was für mich gelöst hat war der Tipp von @aidooyaw1992
https://github.com/aidooyaw1992 , Ändern des Klassenpfads in gradle:3.3.1.

Danke, @aidooyaw1992 https://github.com/aidooyaw1992 !


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/BaseflowIT/flutter-geolocator/issues/228#issuecomment-474014943 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AIG4X9VG3JH5L3NctGCqQ0NzTDuWl3XGks5vX8obgaJpZM4brXKj
.

I there mates ... Dasselbe Problem wurde gelöst, indem der Klassenpfad von 3.2.1 auf gradle: 3.3.0 (nicht 3.3.1)
android.enableJetifier=true) zu gradle.properties ....

Ich bin mir nicht sicher, wer es geschafft hat...

Vielen Dank, futter-Team...

Leute, das wäre sehr nett, wenn ihr uns sagen könntet, in welchen Dateien ihr die Änderungen vorgenommen habt. Ich habe nach com.android.tools.build:gradle: gesucht, 1 Übereinstimmung gefunden, aber jetzt erhalte ich einen weiteren Fehler:

Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:

Bearbeiten:
classPath-Änderung befindet sich im Stammverzeichnis des Android-Ordners, Datei build.gradle
Die beiden Booleschen befinden sich auch im Stammverzeichnis des Android-Ordners, Datei gradle.properties , fügen Sie einfach die beiden Zeilen hinzu

Jetzt funktioniert es.

Ist es nicht gefährlich, Eigenschaften zufällig zu ändern? Wird es noch mit älteren Android-Versionen kompatibel sein?

@Robouste , das Problem ist, dass wir das Geolocator-Plugin aktualisiert haben, um AndroidX zu unterstützen (und weiterhin mit älteren Android-Versionen kompatibel zu sein). Dies bedeutet, dass Sie auch Ihre App aktualisieren müssen, was nach diesen Anweisungen erfolgen kann:

https://github.com/BaseflowIT/flutter-geolocator/issues/196#issuecomment -465460801

Versuchen Sie, ein Skript auf der App-Ebene hinzuzufügen

Teilprojekte {
project.evaluationDependsOn(':app')
projekt.konfigurationen.all {
ResolutionStrategy.eachDependency { Details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "28.0.0"
}
}
}
}

if (details.requested.group == 'androidx.core'
&& !details.requested.name.contains('androidx') ) {
Details.useVersion "1.0.1"
}

Es funktioniert gut, indem Sie android.enableJetifier=true und android.useAndroidX=true im Build-Projekt hinzufügen und den Klassenpfad auf 3.3.1 ändern

Folgendes hat mein Problem gelöst
(1) Hinzufügen von zwei Linien zu Gradle-Eigenschaften
android.enableJetifier=true
android.useAndroidX=true

(2)Fügen Sie folgendes zu Root-Gradle hinzu

Teilprojekte {
project.evaluationDependsOn(':app')
projekt.konfigurationen.all {
ResolutionStrategy.eachDependency { Details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "29.0.0"
}
}
}
}

Für mich habe ich die Android-Migration zur gradle-Eigenschaftsdatei hinzugefügt und dann den classpath'com.android.tools.build : classpath'com.android.tools.build : geändert . 1'. Ich verwende Geolocator 3.0.1 für Instant Messaging.Folgen Sie diesem Link https://www.youtube.com/watch?v=ZRl4t2KdEHQ und tun Sie dann das, was ich oben gesagt habe, um mein Problem zu lösen, danke Leute

Danke aidooyaw1992 das hat bei mir funktioniert.
Ein weiteres Problem, das ich hatte, war, dass intl 0.16 nicht mit flatter_localizations kompatibel ist, aber Sie können deklarieren

Abhängigkeiten:
...
flatter_localizations:
sdk: flattern
intl: 0.15.8
...

und dann überschreiben
Dependency_overrides:
intl: ^0.16.0

und es funktioniert für Abhängigkeiten von intl ^0.16.0

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen