Flutter-geolocator: Ketergantungan Android 'androidx.core:core' memiliki versi berbeda untuk classpath kompilasi (1.0.0) dan runtime (1.0.1)

Dibuat pada 12 Mar 2019  ·  15Komentar  ·  Sumber: Baseflow/flutter-geolocator

Laporan Bug


Hai semuanya,

Tidak dapat menginstal plugin ini, mencoba berbagai versi plugin ini (3.0.1, 3.0.0, 2.1.1, 2.1.0), tetapi tidak ada yang tidak berfungsi. Apakah ada yang mengalami masalah ini sudah?

pubsec.yaml

nama: flutter_app
deskripsi: Aplikasi Flutter baru.

versi: 1.1.0+1

lingkungan:
sdk: ">=2.1.0 <3.0.0"

dependensi:
berdebar:
sdk: berdebar-debar

cupertino_icons: ^0.1.2
geolocator: ^3.0.1
izin_handler: ^3.0.0
meta: ^1.1.6
google_api_availability: ^2.0.0

dev_dependencies:
flutter_test:
sdk: berdebar-debar

flutter_launcher_icons: ^0.6.1

flutter_icons:
image_path: "aset/img/lokasi.png"
android: benar

berdebar:
kegunaan-bahan-desain: benar
aktiva:
- aset/img/lokasi.png
- aset/img/gps.png
- aset/img/no_gps.png

- aset/img/di mana.jpg

LokasiHalaman.dart

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

class LocationPage memperluas StatefulWidget {
@mengesampingkan
LocationPageState createState() => LocationPageState();
}

kelas LocationPageState memperluas Status{

initLocation()async{
Posisi posisi = menunggu Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
cetak(posisi);
}

keadaan init() {
super.initState();
initLokasi();
}

@mengesampingkan
Pembuatan widget (konteks BuildContext) {
kembali Perancah(...);
}

}

KELUARAN KONSOL:

Menjalankan "paket flutter get" di flutter_app... 0.6s
Meluncurkan lib/main.dart pada MI 6 dalam mode debug...
Menginisialisasi gradle...
Menyelesaikan dependensi...
Menjalankan tugas Gradle 'assembleDebug'...

FAILURE: Build gagal dengan pengecualian.

  • Apa yang salah:
    Eksekusi gagal untuk tugas ': app:preDebugBuild '.

    Ketergantungan Android 'androidx. core:core ' memiliki versi berbeda untuk classpath kompilasi (1.0.0) dan runtime (1.0.1). Anda harus mengatur versi yang sama secara manual melalui DependencyResolution

  • Mencoba:
    Jalankan dengan opsi --stacktrace untuk mendapatkan jejak tumpukan. Jalankan dengan opsi --info atau --debug untuk mendapatkan lebih banyak keluaran log. Jalankan dengan --scan untuk mendapatkan wawasan penuh.

  • Dapatkan bantuan lebih lanjut di https://help.gradle.org

BANGUN GAGAL dalam 4 detik


Kegagalan Gradle mungkin disebabkan oleh ketidakcocokan AndroidX di aplikasi Flutter ini.
Lihat https://goo.gl/CP92wY untuk informasi lebih lanjut tentang masalah dan cara memperbaikinya.


Selesai dengan kesalahan: Tugas gradle assembleDebug gagal dengan kode keluar 1

Langkah-langkah reproduksi

bergetar lari -d

Konfigurasi

Versi: 3.0.1

Peron:

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

[✓] Flutter (Saluran stabil, v1.2.1, di Mac OS X 10.13.6 17G65, lokal en-UA)
[✓] Rantai alat Android - kembangkan untuk perangkat Android (Android SDK versi 28.0.3)
[✓] Rantai alat iOS - kembangkan untuk perangkat iOS (Xcode 10.1)
[✓] Android Studio (versi 3.3)
[✓] Kode VS (versi 1.31.1)
[✓] Perangkat yang terhubung (1 tersedia)

• Tidak ada masalah yang ditemukan!

Komentar yang paling membantu

bagi saya, saya menambahkan migrasi Android ke file properti gradle dan kemudian mengubah classpath 'com.Android.tools. build:gradle :3.2.1' ke classpath 'com.android.tools. build:gradle :3.3.1'. saya menggunakan geolocator 3.0.1. ikuti tautan ini https://www.youtube.com/watch?v=ZRl4t2KdEHQ dan kemudian lakukan apa yang saya katakan di atas

Semua 15 komentar

bagi saya, saya menambahkan migrasi Android ke file properti gradle dan kemudian mengubah classpath 'com.Android.tools. build:gradle :3.2.1' ke classpath 'com.android.tools. build:gradle :3.3.1'. saya menggunakan geolocator 3.0.1. ikuti tautan ini https://www.youtube.com/watch?v=ZRl4t2KdEHQ dan kemudian lakukan apa yang saya katakan di atas

Saya

bagi saya, saya menambahkan migrasi Android ke file properti gradle dan kemudian mengubah classpath 'com.Android.tools. build:gradle :3.2.1' ke classpath 'com.android.tools. build:gradle :3.3.1'. saya menggunakan geolocator 3.0.1. ikuti tautan ini https://www.youtube.com/watch?v=ZRl4t2KdEHQ dan kemudian lakukan apa yang saya katakan di atas

ketika saya menambahkan (android.useAndroidX=true
android.enableJetifier=true)
ke properti gradle itu berhasil, terima kasih

Terima kasih @aidooyaw1992 , mengubah classpath menjadi 3.3.1 juga berhasil untuk saya :)

Saya

bagi saya, saya menambahkan migrasi Android ke file properti gradle dan kemudian mengubah classpath 'com.Android.tools. build:gradle :3.2.1' ke classpath 'com.android.tools. build:gradle :3.3.1'. saya menggunakan geolocator 3.0.1. ikuti tautan ini https://www.youtube.com/watch?v=ZRl4t2KdEHQ dan kemudian lakukan apa yang saya katakan di atas

ketika saya menambahkan (android.useAndroidX=true
android.enableJetifier=true)
ke properti gradle itu berhasil, terima kasih

Saya memiliki set ini dan masalah yang sama terjadi.
Apa yang dipecahkan untuk saya adalah tip dari @aidooyaw1992 , mengubah classpath menjadi gradle:3.3.1.

Terima kasih, @aidooyaw1992!

Dengan senang hati

Pada Sen, 18 Mar 2019, 17:17 Matheus Henrique de Oliveira, <
[email protected]> menulis:

Saya

bagi saya, saya menambahkan migrasi Android ke file properti gradle dan
lalu ganti classpath 'com.android.tools. build:gradle :3.2.1' ke classpath
'com.android.tools. build:gradle :3.3.1'. saya menggunakan geolocator 3.0.1. mengikuti
tautan ini https://www.youtube.com/watch?v=ZRl4t2KdEHQ dan kemudian lakukan apa yang saya
telah mengatakan di atas

ketika saya menambahkan (android.useAndroidX=true
android.enableJetifier=true)
ke properti gradle itu berhasil, terima kasih

Saya memiliki set ini dan masalah yang sama terjadi.
Apa yang dipecahkan untuk saya adalah tip dari @aidooyaw1992
https://github.com/aidooyaw1992 , mengubah classpath menjadi gradle:3.3.1.

Terima kasih, @aidooyaw1992 https://github.com/aidooyaw1992 !


Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/BaseflowIT/flutter-geolocator/issues/228#issuecomment-474014943 ,
atau matikan utasnya
https://github.com/notifications/unsubscribe-auth/AIG4X9VG3JH5L3NctGCqQ0NzTDuWl3XGks5vX8obgaJpZM4brXKj
.

I there mates... Menghadapi masalah yang sama memang menyelesaikannya dengan mengubah classpath dari 3.2.1 menjadi gradle:3.3.0 (bukan 3.3.1); dan juga menambahkan (android.useAndroidX=true
android.enableJetifier=true) ke gradle.properties ....

Tidak yakin yang mana yang membuatnya terjadi...

Terima kasih banyak, tim yang lebih baik ...

Teman-teman, akan sangat menyenangkan jika Anda dapat memberi tahu kami di file mana Anda membuat perubahan. Saya melakukan pencarian untuk com.android.tools.build:gradle: , menemukan 1 kecocokan, tetapi sekarang saya mendapatkan kesalahan lain:

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

Sunting:
perubahan classPath ada di root folder Android, file build.gradle
Kedua boolean juga ada di root folder Android, file gradle.properties , cukup tambahkan dua baris

Sekarang berhasil.

Apakah tidak berbahaya untuk mengubah properti secara acak? Apakah masih kompatibel dengan versi Android yang lebih lama?

@Robouste , masalahnya adalah kami telah memutakhirkan plugin Geolocator untuk mendukung AndroidX (serta masih kompatibel dengan versi Android yang lebih lama). Ini berarti Anda juga harus memutakhirkan Aplikasi Anda yang dapat dilakukan dengan mengikuti petunjuk berikut:

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

coba tambahkan skrip di level aplikasi

subproyek {
project.evaluationDependsOn(':app')
project.configurations.all {
resolusiStrategy.eachDependency { detail ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
detail.useVersion "28.0.0"
}
}
}
}

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

Ini berfungsi dengan baik dengan menambahkan Android.enableJetifier=true dan Android.useAndroidX=true dalam proyek build dan ubah classpath menjadi 3.3.1

Mengikuti memecahkan masalah saya
(1) Menambahkan Dua baris ke properti gradle
android.enableJetifier=benar
android.useAndroidX=benar

(2) Tambahkan berikut ini ke root gradle

subproyek {
project.evaluationDependsOn(':app')
project.configurations.all {
resolusiStrategy.eachDependency { detail ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
detail.useVersion "29.0.0"
}
}
}
}

Bagi saya, saya menambahkan migrasi Android ke file properti gradle, dan kemudian mengubah classpath'com.android.tools.build :gradle :3.2.1' ke classpath'com.android.tools.build :gradle : 3.3. 1'. Saya menggunakan geolocator 3.0.1 untuk pesan instan.Ikuti tautan ini https://www.youtube.com/watch?v=ZRl4t2KdEHQ , lalu lakukan apa yang saya katakan di atas untuk menyelesaikan masalah saya, terima kasih kawan

Terima kasih aidooyaw1992 yang berhasil untuk saya.
Masalah lain yang saya miliki adalah bahwa intl 0.16 tidak kompatibel dengan flutter_localizations tetapi Anda dapat mendeklarasikan

dependensi:
...
flutter_localizations:
sdk: berdebar-debar
intl: 0.15.8
...

dan kemudian menimpa
ketergantungan_override:
intl: ^0.16.0

dan berfungsi untuk dependensi pada intl ^0.16.0

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

prasant10050 picture prasant10050  ·  6Komentar

lqmminh picture lqmminh  ·  6Komentar

long1eu picture long1eu  ·  4Komentar

seakmengc picture seakmengc  ·  3Komentar

dark-chocolate picture dark-chocolate  ·  3Komentar