Flutter-geolocator: A dependência do Android 'androidx.core: core' tem uma versão diferente para o classpath de compilação (1.0.0) e runtime (1.0.1)

Criado em 12 mar. 2019  ·  15Comentários  ·  Fonte: Baseflow/flutter-geolocator

🐛 Relatório de Bug


Oi pessoal,

Não é possível instalar este plugin, tentei versões diferentes deste plugin (3.0.1, 3.0.0, 2.1.1, 2.1.0), mas nenhum não funcionou. Alguém já encontrou esse problema?

pubsec.yaml

nome: flutter_app
descrição: Um novo aplicativo Flutter.

versão: 1.1.0 + 1

ambiente:
sdk: "> = 2.1.0 <3.0.0"

dependências:
vibração:
sdk: flutter

cupertino_icons: ^ 0.1.2
Geolocator: ^ 3.0.1
permission_handler: ^ 3.0.0
meta: ^ 1.1.6
google_api_availability: ^ 2.0.0

dev_dependencies:
flutter_test:
sdk: flutter

flutter_launcher_icons: ^ 0.6.1

flutter_icons:
caminho_de_imagem: "assets / img / location.png"
android: true

vibração:
usa-material-design: verdadeiro
bens:
- assets / img / location.png
- assets / img / gps.png
- assets / img / no_gps.png

- ativos / img / where.jpg

LocationPage.dart

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

class LocationPage extends StatefulWidget {
@sobrepor
LocationPageState createState () => LocationPageState ();
}

classe LocationPageState extends State{

initLocation () async {
Posição posição = espera Geolocator (). GetCurrentPosition (desejadoAccuracy: LocationAccuracy.high);
imprimir (posição);
}

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

@sobrepor
Construção de widget (contexto BuildContext) {
retornar Scaffold (...);
}

}

SAÍDA DO CONSOLE:

Executando "flutter packages get" em flutter_app ... 0.6s
Lançando lib / main.dart no MI 6 no modo de depuração ...
Inicializando gradle ...
Resolvendo dependências ...
Executando tarefa Gradle 'assembleDebug' ...

FALHA: a compilação falhou com uma exceção.

  • O que deu errado:
    A execução falhou para a tarefa ': app: preDebugBuild '.

    Dependência do Android 'androidx. core: core 'tem uma versão diferente para o classpath de compilação (1.0.0) e runtime (1.0.1). Você deve definir manualmente a mesma versão por meio de DependencyResolution

  • Experimentar:
    Execute com a opção --stacktrace para obter o rastreamento da pilha. Execute com a opção --info ou --debug para obter mais saída de log. Execute com --scan para obter informações completas.

  • Obtenha mais ajuda em https://help.gradle.org

FALHA NA CONSTRUÇÃO em 4s


A falha do Gradle pode ter ocorrido devido a incompatibilidades do AndroidX neste aplicativo Flutter.
Consulte https://goo.gl/CP92wY para obter mais informações sobre o problema e como corrigi-lo.


Concluído com erro: a tarefa Gradle assembleDebug falhou com o código de saída 1

Etapas de reprodução

flutter run -d

Configuração

Versão: 3.0.1

Plataforma:

  • []: iphone: iOS
  • [*]: robô: Android

[✓] Flutter (canal estável, v1.2.1, no Mac OS X 10.13.6 17G65, local en-UA)
[✓] Conjunto de ferramentas Android - desenvolver para dispositivos Android (Android SDK versão 28.0.3)
[✓] conjunto de ferramentas iOS - desenvolver para dispositivos iOS (Xcode 10.1)
[✓] Android Studio (versão 3.3)
[✓] Código VS (versão 1.31.1)
[✓] Dispositivo conectado (1 disponível)

• Nenhum problema encontrado!

Comentários muito úteis

para mim, adicionei a migração do Android ao arquivo de propriedades do gradle e, em seguida, alterei o classpath 'com.android.tools. build: gradle : 3.2.1 'para classpath' com.android.tools. construir: gradle : 3.3.1 '. estou usando o geolocalização 3.0.1. siga este link https://www.youtube.com/watch?v=ZRl4t2KdEHQ e faça o que eu disse acima

Todos 15 comentários

para mim, adicionei a migração do Android ao arquivo de propriedades do gradle e, em seguida, alterei o classpath 'com.android.tools. build: gradle : 3.2.1 'para classpath' com.android.tools. construir: gradle : 3.3.1 '. estou usando o geolocalização 3.0.1. siga este link https://www.youtube.com/watch?v=ZRl4t2KdEHQ e faça o que eu disse acima

eu

para mim, adicionei a migração do Android ao arquivo de propriedades do gradle e, em seguida, alterei o classpath 'com.android.tools. build: gradle : 3.2.1 'para classpath' com.android.tools. construir: gradle : 3.3.1 '. estou usando o geolocalização 3.0.1. siga este link https://www.youtube.com/watch?v=ZRl4t2KdEHQ e faça o que eu disse acima

quando adicionei o (android.useAndroidX = true
android.enableJetifier = true)
às propriedades do gradle funcionou, graças

Obrigado @ aidooyaw1992 , alterar o classpath para 3.3.1 funcionou para mim também :)

eu

para mim, adicionei a migração do Android ao arquivo de propriedades do gradle e, em seguida, alterei o classpath 'com.android.tools. build: gradle : 3.2.1 'para classpath' com.android.tools. construir: gradle : 3.3.1 '. estou usando o geolocalização 3.0.1. siga este link https://www.youtube.com/watch?v=ZRl4t2KdEHQ e faça o que eu disse acima

quando adicionei o (android.useAndroidX = true
android.enableJetifier = true)
às propriedades do gradle funcionou, graças

Eu tinha esses conjuntos e o mesmo problema estava acontecendo.
O que resolveu para mim foi a dica de @ aidooyaw1992 , mudando o caminho de classe para gradle: 3.3.1.

Obrigado, @ aidooyaw1992!

O prazer é meu

Segunda-feira, 18 de março de 2019, 17:17 Matheus Henrique de Oliveira, <
notificaçõ[email protected]> escreveu:

eu

para mim, adicionei a migração do Android ao arquivo de propriedades do Gradle e
em seguida, alterou o classpath 'com.android.tools. build: gradle : 3.2.1 'para o classpath
'com.android.tools. construir: gradle : 3.3.1 '. estou usando o geolocalização 3.0.1. Segue
este link https://www.youtube.com/watch?v=ZRl4t2KdEHQ e depois faço o que eu
disse acima

quando adicionei o (android.useAndroidX = true
android.enableJetifier = true)
às propriedades do gradle funcionou, graças

Eu tinha esses conjuntos e o mesmo problema estava acontecendo.
O que me resolveu foi a dica de @ aidooyaw1992
https://github.com/aidooyaw1992 , alterando o classpath para gradle: 3.3.1.

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

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/BaseflowIT/flutter-geolocator/issues/228#issuecomment-474014943 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AIG4X9VG3JH5L3NctGCqQ0NzTDuWl3XGks5vX8obgaJpZM4brXKj
.

I there mates ... Enfrentando o mesmo problema resolvi alterando o caminho de classe de 3.2.1 para gradle: 3.3.0 (não 3.3.1); e também adicionou o (android.useAndroidX = true
android.enableJetifier = true) para gradle.properties ....

Não tenho certeza de qual fez isso acontecer ...

Isso é muito, equipe de futter ...

Pessoal, seria muito bom se vocês pudessem nos dizer em quais arquivos você fez as alterações. Fiz uma pesquisa por com.android.tools.build:gradle: , encontrei 1 correspondência, mas agora recebo outro erro:

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

Editar:
A alteração do classPath está na raiz da pasta Android, arquivo build.gradle
Os dois booleanos também estão na raiz da pasta Android, arquivo gradle.properties , basta adicionar as duas linhas

Agora funciona.

Não é perigoso alterar propriedades aleatoriamente? Ainda será compatível com a versão mais antiga do Android?

@Robouste , o problema é que atualizamos o plugin Geolocator para suportar AndroidX (além de ser compatível com versões mais antigas do Android). Isso significa que você também terá que atualizar seu aplicativo, o que pode ser feito seguindo estas instruções:

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

tente adicionar script no nível do aplicativo

subprojetos {
project.evaluationDependsOn (': app')
project.configurations.all {
resoluçãoStrategy.eachDependency {detalhes ->
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"
}

Está funcionando bem ao adicionar android.enableJetifier = true e android.useAndroidX = true no projeto de compilação e alterar o classpath para 3.3.1

Seguir resolveu meu problema
(1) Adicionando duas linhas às propriedades do gradle
android.enableJetifier = true
android.useAndroidX = true

(2) Adicionar o seguinte ao gradle de raiz

subprojetos {
project.evaluationDependsOn (': app')
project.configurations.all {
resoluçãoStrategy.eachDependency {detalhes ->
if (details.requested.group == 'com.android.support'
&&! details.requested.name.contains ('multidex')) {
details.useVersion "29.0.0"
}
}
}
}

Para mim, adicionei a migração do Android ao arquivo de propriedades do gradle e, em seguida, alterei o classpath'com.android.tools.build : gradle : 3.2.1 'para o classpath'com.android.tools.build : gradle : 3.3. 1 '. Estou usando o geolocalização 3.0.1 para mensagens instantâneas.Siga este link https://www.youtube.com/watch?v=ZRl4t2KdEHQ , e depois faça o que falei acima para resolver meu problema, obrigado galera

Obrigado aidooyaw1992 que funcionou para mim.
Outro problema que tive foi que intl 0.16 é incompatível com flutter_localizations, mas você pode declarar

dependências:
...
flutter_localizations:
sdk: flutter
intl: 0,15,8
...

e então sobrescrever
dependency_overrides:
intl: ^ 0.16.0

e funciona para dependências em intl ^ 0.16.0

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

jaumard picture jaumard  ·  3Comentários

shrishti08 picture shrishti08  ·  3Comentários

seakmengc picture seakmengc  ·  3Comentários

samo92 picture samo92  ·  6Comentários

dark-chocolate picture dark-chocolate  ·  3Comentários