Flutter-geolocator: تبعية Android 'androidx.core: core' لها إصدار مختلف للترجمة (1.0.0) ووقت التشغيل (1.0.1) classpath

تم إنشاؤها على ١٢ مارس ٢٠١٩  ·  15تعليقات  ·  مصدر: Baseflow/flutter-geolocator

🐛 تقرير الشوائب


أهلا بالجميع،

لا يمكن تثبيت هذا المكون الإضافي ، جربت إصدارات مختلفة من هذا المكون الإضافي (3.0.1 ، 3.0.0 ، 2.1.1 ، 2.1.0) ، لكن لم يعمل أحد. هل واجه أي شخص هذه المشكلة بالفعل؟

pubsec.yaml

الاسم: flutter_app
الوصف: تطبيق Flutter جديد.

الإصدار: 1.1.0 + 1

بيئة:
sdk: "> = 2.1.0 <3.0.0"

التبعيات:
رفرفة:
sdk: رفرفة

cupertino_icons: ^ 0.1.2
محدد الموقع الجغرافي: ^ 3.0.1
إذن_معامل: ^ 3.0.0
ميتا: ^ 1.1.6
google_api_availability: ^ 2.0.0

تبعيات التنمية:
flutter_test:
sdk: رفرفة

flutter_launcher_icons: ^ 0.6.1

flutter_icons:
image_path: "الأصول / img / location.png"
android: صحيح

رفرفة:
استخدامات-تصميم-مادّي: صحيح
الأصول:
- الأصول / img / location.png
- الأصول / img / gps.png
- الأصول / img / no_gps.png

- الأصول / img / where.jpg

الموقع Page.dart

استيراد " الحزمة: رفرفة / material.dart " ؛
استيراد " الحزمة: geolocator / geolocator.dart " ؛

يمتد الفئة LocationPage إلى StatefulWidget {
@تجاوز
LocationPageState createState () => LocationPageState () ؛
}

الفئة LocationPageState يمتد الحالة{

initLocation () غير متزامن {
Position position = wait Geolocator (). getCurrentPosition (مطلوب الدقة: LocationAccuracy.high) ؛
طباعة (موقف) ؛
}

initState () {
super.initState () ،
initLocation () ؛
}

@تجاوز
بناء الأداة (سياق BuildContext) {
عودة سقالة (...) ؛
}

}

إخراج وحدة التحكم:

تشغيل "الحصول على حزم flutter" في flutter_app ... 0.6s
جاري تشغيل lib / main.dart على MI 6 في وضع التصحيح ...
جاري تهيئة gradle ...
حل التبعيات ...
تشغيل مهمة Gradle "تجميع البيانات" ...

فشل: فشل البناء مع استثناء.

  • ماذا حصل:
    فشل تنفيذ المهمة ': app: preDebugBuild '.

    تبعية Android 'androidx. core: core لديه إصدار مختلف للمجمع (1.0.0) و runtime (1.0.1) classpath. يجب عليك تعيين نفس الإصدار يدويًا عبر DependencyResolution

  • يحاول:
    تشغيل بخيار --stacktrace للحصول على تتبع المكدس. تشغيل بخيار --info أو --debug للحصول على المزيد من مخرجات السجل. تشغيل باستخدام - Scan للحصول على رؤى كاملة.

  • احصل على مزيد من المساعدة على https://help.gradle.org

فشل البناء في 4 ثوانٍ


قد يكون فشل Gradle بسبب عدم توافق AndroidX في تطبيق Flutter هذا.
راجع https://goo.gl/CP92wY للحصول على مزيد من المعلومات حول المشكلة وكيفية إصلاحها.


انتهى مع الخطأ: فشل تجميع مهمة GradleDebug مع رمز الخروج 1

خطوات الاستنساخ

رفرفة المدى د

ترتيب

الإصدار: 3.0.1.1

برنامج:

  • []: iphone: iOS
  • [*]: الروبوت: أندرويد

[✓] Flutter (قناة مستقرة ، v1.2.1 ، في نظام التشغيل Mac OS X 10.13.6 17G65 ، الإعدادات المحلية en-UA)
[✓] Android Toolchain - تطوير لأجهزة Android (إصدار Android SDK 28.0.3)
[✓] سلسلة أدوات iOS - تطوير لأجهزة iOS (Xcode 10.1)
[✓] Android Studio (الإصدار 3.3)
[✓] كود VS (الإصدار 1.31.1)
[✓] جهاز متصل (1 متوفر)

• لم يتم العثور على اى مشكلات!

التعليق الأكثر فائدة

بالنسبة لي ، أضفت ترحيل android إلى ملف خصائص gradle ثم قمت بتغيير classpath 'com.android.tools. البناء: gradle : 3.2.1 'to classpath' com.android.tools. البناء: gradle : 3.3.1 '. الدردشة باستخدام geolocator 3.0.1. اتبع هذا الرابط https://www.youtube.com/watch؟v=ZRl4t2KdEHQ ثم افعل ما قلته أعلاه

ال 15 كومينتر

بالنسبة لي ، أضفت ترحيل android إلى ملف خصائص gradle ثم قمت بتغيير classpath 'com.android.tools. البناء: gradle : 3.2.1 'to classpath' com.android.tools. البناء: gradle : 3.3.1 '. الدردشة باستخدام geolocator 3.0.1. اتبع هذا الرابط https://www.youtube.com/watch؟v=ZRl4t2KdEHQ ثم افعل ما قلته أعلاه

أنا

بالنسبة لي ، أضفت ترحيل android إلى ملف خصائص gradle ثم قمت بتغيير classpath 'com.android.tools. البناء: gradle : 3.2.1 'to classpath' com.android.tools. البناء: gradle : 3.3.1 '. الدردشة باستخدام geolocator 3.0.1. اتبع هذا الرابط https://www.youtube.com/watch؟v=ZRl4t2KdEHQ ثم افعل ما قلته أعلاه

عندما أضفت (android.useAndroidX = true
android.enableJetifier = صحيح)
لخصائص gradle عملت شكرا

شكرًا @ aidooyaw1992 ، لقد

أنا

بالنسبة لي ، أضفت ترحيل android إلى ملف خصائص gradle ثم قمت بتغيير classpath 'com.android.tools. البناء: gradle : 3.2.1 'to classpath' com.android.tools. البناء: gradle : 3.3.1 '. الدردشة باستخدام geolocator 3.0.1. اتبع هذا الرابط https://www.youtube.com/watch؟v=ZRl4t2KdEHQ ثم افعل ما قلته أعلاه

عندما أضفت (android.useAndroidX = true
android.enableJetifier = صحيح)
لخصائص gradle عملت شكرا

كان لدي هذه المجموعة وكانت نفس المشكلة تحدث.
ما تم حله بالنسبة لي هو نصيحة من @ aidooyaw1992 ، تغيير مسار الفصل إلى

شكرا @ aidooyaw1992!

من دواعي سروري

في الإثنين 18 آذار (مارس) 2019 الساعة 17:17 ماتيوس هنريكي دي أوليفيرا <
[email protected]> كتب:

أنا

بالنسبة لي ، أضفت ترحيل android إلى ملف خصائص gradle و
ثم قام بتغيير classpath 'com.android.tools. البناء: gradle : 3.2.1 'to classpath
com.android.tools. البناء: gradle : 3.3.1 '. الدردشة باستخدام geolocator 3.0.1. إتبع
هذا الرابط https://www.youtube.com/watch؟v=ZRl4t2KdEHQ ثم افعل ما أنا
قال أعلاه

عندما أضفت (android.useAndroidX = true
android.enableJetifier = صحيح)
لخصائص gradle عملت شكرا

كان لدي هذه المجموعة وكانت نفس المشكلة تحدث.
ما تم حله بالنسبة لي هو نصيحة من @ aidooyaw1992
https://github.com/aidooyaw1992 ، تغيير classpath إلى gradle: 3.3.1.

شكرا @ aidooyaw1992 https://github.com/aidooyaw1992 !

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/BaseflowIT/flutter-geolocator/issues/228#issuecomment-474014943 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AIG4X9VG3JH5L3NctGCqQ0NzTDuWl3XGks5vX8obgaJpZM4brXKj
.

المرجع: https://github.com/Lyokone/flutterlocation/issues/117

تبدو متشابهة.

أنا هناك رفاق ... مواجهة نفس المشكلة تم حلها عن طريق تغيير مسار الفصل من 3.2.1 إلى gradle: 3.3.0 (وليس 3.3.1) ؛ وكذلك أضافت (android.useAndroidX = true
android.enableJetifier = true) إلى gradle.properties ....

لست متأكدًا مما جعله يحدث ...

ثاكس كثيرا ، فريق المستقبل ...

يا رفاق ، سيكون هذا أمرًا رائعًا إذا أمكنك إخبارنا بالملفات التي أجريت التغييرات فيها. لقد أجريت بحثًا عن com.android.tools.build:gradle: ، ووجدت تطابقًا واحدًا ، لكنني الآن أتلقى خطأ آخر:

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

تعديل:
تغيير classPath موجود في جذر مجلد Android ، الملف build.gradle
الملفان المنطقيان موجودان أيضًا في جذر مجلد Android ، الملف gradle.properties ، فقط أضف السطرين

الآن يعمل.

ليس من الخطر تغيير الخصائص بشكل عشوائي؟ هل ستظل متوافقة مع إصدار Android الأقدم؟

Robouste ، المشكلة هي أننا قمنا بترقية المكوّن الإضافي Geolocator لدعم AndroidX (بالإضافة إلى كونه متوافقًا مع إصدارات Android الأقدم). هذا يعني أنه سيتعين عليك أيضًا ترقية التطبيق الخاص بك والذي يمكن القيام به باتباع الإرشادات التالية:

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

حاول إضافة برنامج نصي في مستوى التطبيق

المشاريع الفرعية {
project.evaluationDependsOn (': app')
project.configurations.all {
ResolutionStrategy.eachDependency {تفاصيل ->
إذا (details.requested.group == 'com.android.support'
&&! details.requested.name.contains ('multidex')) {
تفاصيل .use الإصدار "28.0.0"
}
}
}
}

if (details.requested.group == 'androidx.core'
&&! details.requested.name.contains ('androidx')) {
تفاصيل .use الإصدار "1.0.1"
}

يعمل بشكل جيد عن طريق إضافة android.enableJetifier = true و android.useAndroidX = صحيح في مشروع البناء وتغيير مسار الفصل إلى 3.3.1

بعد حل مشكلتي
(1) إضافة سطرين لخصائص التدرج
android.enableJetifier = صحيح
android.useAndroidX = صحيح

(2) أضف ما يلي إلى الجذر المتدرج

المشاريع الفرعية {
project.evaluationDependsOn (': app')
project.configurations.all {
ResolutionStrategy.eachDependency {تفاصيل ->
إذا (details.requested.group == 'com.android.support'
&&! details.requested.name.contains ('multidex')) {
تفاصيل .use الإصدار "29.0.0"
}
}
}
}

بالنسبة لي ، أضفت ترحيل Android إلى ملف خصائص gradle ، ثم قمت بتغيير classpath'com.android.tools.build : gradle : 3.3. 1 '. أنا أستخدم geolocator 3.0.1 للرسائل الفورية.اتبع هذا الرابط https://www.youtube.com/watch؟v=ZRl4t2KdEHQ ، ثم افعل ما قلته أعلاه لحل مشكلتي ، شكرًا يا رفاق

شكرا aidooyaw1992 التي عملت لي.
مشكلة أخرى واجهتني وهي أن intl 0.16 غير متوافق مع flutter_localizations ولكن يمكنك التصريح

التبعيات:
...
flutter_localizations:
sdk: رفرفة
دولي: 0.15.8
...

ثم تجاوز
تجاوزات التبعية:
دولي: ^ 0.16.0

وهو يعمل مع التبعيات على intl ^ 0.16.0

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات