Flutter-geolocator: La dépendance Android 'androidx.core:core' a une version différente pour le chemin de classe de compilation (1.0.0) et d'exécution (1.0.1)

Créé le 12 mars 2019  ·  15Commentaires  ·  Source: Baseflow/flutter-geolocator

Rapport de bogue


Salut tout le monde,

Impossible d'installer ce plugin, j'ai essayé différentes versions de ce plugin (3.0.1, 3.0.0, 2.1.1, 2.1.0), mais aucune n'a fonctionné. Quelqu'un a-t-il déjà rencontré ce problème ?

pubsec.yaml

nom : flutter_app
description : Une nouvelle application Flutter.

version : 1.1.0+1

environnement:
SDK : ">=2.1.0 <3.0.0"

dépendances :
battement:
SDK : flutter

cupertino_icons: ^0.1.2
géolocalisateur : ^3.0.1
permission_handler : ^3.0.0
méta : ^1.1.6
google_api_availability : ^2.0.0

dev_dependencies :
test_flutter :
SDK : flutter

flutter_launcher_icons : ^0.6.1

flutter_icons :
chemin_image : "assets/img/location.png"
androïde : vrai

battement:
use-material-design: true
les atouts:
- actifs/img/location.png
- actifs/img/gps.png
- actifs/img/no_gps.png

- actifs/img/where.jpg

EmplacementPage.dart

import ' package:flutter/material.dart ';
import ' package:geolocator/geolocator.dart ';

la classe LocationPage étend StatefulWidget {
@passer outre
LocationPageState createState() => LocationPageState();
}

la classe LocationPageState étend l'état{

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

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

@passer outre
Construction du widget (contexte BuildContext) {
return Scaffold(...);
}

}

SORTIE CONSOLE :

Exécution de "flutter packages get" dans flutter_app... 0.6s
Lancement de lib/main.dart sur MI 6 en mode débogage...
Initialisation de gradle...
Résolution des dépendances...
Exécution de la tâche Gradle 'assembleDebug'...

ÉCHEC : la génération a échoué avec une exception.

  • Qu'est ce qui ne s'est pas bien passé:
    L'exécution a échoué pour la tâche ': app:preDebugBuild '.

    Dépendance Android 'androidx. core:core ' a une version différente pour le chemin de classe de compilation (1.0.0) et d'exécution (1.0.1). Vous devez définir manuellement la même version via DependencyResolution

  • Essayer:
    Exécutez avec l'option --stacktrace pour obtenir la trace de la pile. Exécutez avec l'option --info ou --debug pour obtenir plus de sorties de journal. Exécutez avec --scan pour obtenir des informations complètes.

  • Obtenez plus d'aide sur https://help.gradle.org

ÉCHEC DE LA CONSTRUCTION en 4s


L'échec de Gradle est peut-être dû aux incompatibilités AndroidX dans cette application Flutter.
Voir https://goo.gl/CP92wY pour plus d'informations sur le problème et comment le résoudre.


Terminé avec une erreur : la tâche Gradle assembleDebug a échoué avec le code de sortie 1

Étapes de reproduction

flutter run -d

Configuration

Version : 3.0.1

Plate-forme:

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

[✓] Flutter (Channel stable, v1.2.1, sur Mac OS X 10.13.6 17G65, locale en-UA)
[✓] Chaîne d'outils Android - développer pour les appareils Android (Android SDK version 28.0.3)
[✓] Chaîne d'outils iOS - développer pour les appareils iOS (Xcode 10.1)
[✓] Android Studio (version 3.3)
[✓] Code VS (version 1.31.1)
[✓] Appareil connecté (1 disponible)

• Aucun problème n'a été trouvé!

Commentaire le plus utile

pour moi, j'ai ajouté la migration Android au fichier de propriétés gradle, puis j'ai modifié le chemin de classe 'com.android.tools. build:gradle :3.2.1' au classpath 'com.android.tools. build:gradle :3.3.1'. J'utilise le géolocalisateur 3.0.1. suivez ce lien https://www.youtube.com/watch?v=ZRl4t2KdEHQ puis faites ce que j'ai dit ci-dessus

Tous les 15 commentaires

pour moi, j'ai ajouté la migration Android au fichier de propriétés gradle, puis j'ai modifié le chemin de classe 'com.android.tools. build:gradle :3.2.1' au classpath 'com.android.tools. build:gradle :3.3.1'. J'utilise le géolocalisateur 3.0.1. suivez ce lien https://www.youtube.com/watch?v=ZRl4t2KdEHQ puis faites ce que j'ai dit ci-dessus

je

pour moi, j'ai ajouté la migration Android au fichier de propriétés gradle, puis j'ai modifié le chemin de classe 'com.android.tools. build:gradle :3.2.1' au classpath 'com.android.tools. build:gradle :3.3.1'. J'utilise le géolocalisateur 3.0.1. suivez ce lien https://www.youtube.com/watch?v=ZRl4t2KdEHQ puis faites ce que j'ai dit ci-dessus

quand j'ai ajouté le (android.useAndroidX=true
android.enableJetifier=true)
aux propriétés gradle cela a fonctionné grâce

Merci @aidooyaw1992 , changer le classpath en 3.3.1 a fonctionné pour moi aussi :)

je

pour moi, j'ai ajouté la migration Android au fichier de propriétés gradle, puis j'ai modifié le chemin de classe 'com.android.tools. build:gradle :3.2.1' au classpath 'com.android.tools. build:gradle :3.3.1'. J'utilise le géolocalisateur 3.0.1. suivez ce lien https://www.youtube.com/watch?v=ZRl4t2KdEHQ puis faites ce que j'ai dit ci-dessus

quand j'ai ajouté le (android.useAndroidX=true
android.enableJetifier=true)
aux propriétés gradle cela a fonctionné grâce

J'avais ces ensembles et le même problème se produisait.
Ce qui a été résolu pour moi, c'est le conseil de @aidooyaw1992 , en changeant le chemin de gradle:3.3.1.

Merci, @aidooyaw1992 !

Mon plaisir

Le lun. 18 mars 2019, 17:17 Matheus Henrique de Oliveira, <
[email protected]> a écrit :

je

pour moi, j'ai ajouté la migration Android au fichier de propriétés gradle et
puis changé le chemin de classe 'com.android.tools. build:gradle :3.2.1' vers classpath
'com.android.tools. build:gradle :3.3.1'. J'utilise le géolocalisateur 3.0.1. suivre
ce lien https://www.youtube.com/watch?v=ZRl4t2KdEHQ puis faire ce que je
ai dit plus haut

quand j'ai ajouté le (android.useAndroidX=true
android.enableJetifier=true)
aux propriétés gradle cela a fonctionné grâce

J'avais ces ensembles et le même problème se produisait.
Ce qui a été résolu pour moi, c'est le conseil de @aidooyaw1992
https://github.com/aidooyaw1992 , en changeant le chemin de gradle:3.3.1.

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

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/BaseflowIT/flutter-geolocator/issues/228#issuecomment-474014943 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AIG4X9VG3JH5L3NctGCqQ0NzTDuWl3XGks5vX8obgaJpZM4brXKj
.

Je suis là, mes amis... Faire face au même problème l'a résolu en changeant le chemin de gradle:3.3.0 (pas 3.3.1); et a également ajouté le (android.useAndroidX=true
android.enableJetifier=true) à gradle.properties ....

Je ne sais pas lequel a fait cela...

Merci beaucoup, équipe futter...

Les gars, ce serait très bien si vous pouviez nous dire dans quels fichiers vous avez apporté les modifications. J'ai fait une recherche pour com.android.tools.build:gradle: , j'ai trouvé 1 correspondance, mais maintenant j'obtiens une autre erreur :

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

Éditer:
Le changement de classPath est à la racine du dossier Android, fichier build.gradle
Les deux booléens sont aussi à la racine du dossier Android, fichier gradle.properties , il suffit d'ajouter les deux lignes

Maintenant ça marche.

N'est-il pas dangereux de changer de propriétés au hasard ? Sera-t-il toujours compatible avec l'ancienne version d'Android ?

@Robouste , le problème est que nous avons mis à niveau le plugin Geolocator pour prendre en charge AndroidX (tout en restant compatible avec les anciennes versions d'Android). Cela signifie que vous devrez également mettre à niveau votre application, ce qui peut être fait en suivant ces instructions :

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

essayez d'ajouter un script au niveau de l'application

sous-projets {
project.evaluationDependsOn(':app')
projet.configurations.all {
resolutionStrategy.eachDependency { détails ->
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"
}

Cela fonctionne bien en ajoutant android.enableJetifier=true et android.useAndroidX=true dans le projet de construction et changez le chemin de classe en 3.3.1

La suite a résolu mon problème
(1)Ajout de deux lignes aux propriétés de gradle
android.enableJetifier=true
android.useAndroidX=true

(2) Ajouter ce qui suit à la racine gradle

sous-projets {
project.evaluationDependsOn(':app')
projet.configurations.all {
resolutionStrategy.eachDependency { détails ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "29.0.0"
}
}
}
}

Pour moi, j'ai ajouté la migration Android au fichier de propriétés gradle, puis j'ai changé le classpath'com.android.tools.build :gradle : 3.3. 1'. J'utilise geolocator 3.0.1 pour la messagerie instantanée.Suivez ce lien https://www.youtube.com/watch?v=ZRl4t2KdEHQ , puis faites ce que j'ai dit ci-dessus pour résoudre mon problème, merci les gars

Merci aidooyaw1992 qui a fonctionné pour moi.
Un autre problème que j'ai eu était que intl 0.16 est incompatible avec flutter_localisations mais vous pouvez déclarer

dépendances :
...
flutter_localisations :
SDK : flutter
intl: 0.15.8
...

puis écraser
dependance_overrides :
intl : ^0.16.0

et cela fonctionne pour les dépendances sur intl ^0.16.0

Cette page vous a été utile?
0 / 5 - 0 notes