Проблема с play-services-измерениями на базе ионных - PullRequest
46 голосов
/ 07 мая 2019

У меня проблема с ионным проектом, который начался вчера без изменения какой-либо зависимости.

Когда я запускаю ionic cordova run android У меня появляется эта ошибка:

The library com.google.android.gms:play-services-measurement-base is being requested by various other libraries at [[16.5.0,16.5.0], [16.4.0,16.4.0]], but resolves to 16.5.0. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.

Но я не сделалне устанавливал никаких зависимостей в эти дни.

Это мой cordova plugins список:

cordova-fabric-plugin 1.1.14-dev "cordova-fabric-plugin"
cordova-plugin-advanced-http 2.0.9 "Advanced HTTP plugin"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-appminimize 1.0.1 "AppMinimize"
cordova-plugin-apprate 1.4.0 "AppRate"
cordova-plugin-appsee 2.6.0 "Appsee"
cordova-plugin-badge 0.8.8 "Badge"
cordova-plugin-datepicker 0.9.3 "DatePicker"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-dialogs 2.0.1 "Notification"
cordova-plugin-facebook4 3.2.0 "Facebook Connect"
cordova-plugin-file 6.0.1 "File"
cordova-plugin-firebase 2.0.5 "Google Firebase Plugin"
cordova-plugin-freshchat 1.2.0 "Freshchat plugin for Phonegap"
cordova-plugin-geolocation 4.0.1 "Geolocation"
cordova-plugin-globalization 1.11.0 "Globalization"
cordova-plugin-inappbrowser 3.0.0 "InAppBrowser"
cordova-plugin-inapppurchase-fixed 1.1.0 "In App Purchase"
cordova-plugin-insomnia 4.3.0 "Insomnia (prevent screen sleep)"
cordova-plugin-local-notification 0.9.0-beta.2 "LocalNotification"
cordova-plugin-media 5.0.2 "Media"
cordova-plugin-nativegeocoder 3.2.2 "NativeGeocoder"
cordova-plugin-nativestorage 2.3.2 "NativeStorage"
cordova-plugin-network-information 2.0.1 "Network Information"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-plugin-x-socialsharing 5.4.4 "SocialSharing"
cordova-support-google-services 1.2.1 "cordova-support-google-services"
es6-promise-plugin 4.2.2 "Promise"
ionic-plugin-deeplinks 1.0.19 "Ionic Deeplink Plugin"
nl.kingsquare.cordova.background-audio 1.0.1 "background-audio"
pushwoosh-cordova-plugin 7.13.0 "Pushwoosh"

Я нашел эти зависимости в моем platforms/android/app/build.gradle (если это полезно знать):

dependencies {
    implementation fileTree(dir: 'libs', include: '*.jar')
    // SUB-PROJECT DEPENDENCIES START
    implementation(project(path: ":CordovaLib"))
    compile "com.android.support:support-v4:24.1.1+"
    compile "com.squareup.okhttp3:okhttp-urlconnection:3.10.0"
    compile "com.google.android.gms:play-services-tagmanager:+"
    compile "com.google.firebase:firebase-core:+"
    compile "com.google.firebase:firebase-messaging:+"
    compile "com.google.firebase:firebase-config:+"
    compile "com.google.firebase:firebase-perf:+"
    compile "com.android.support:support-v4:26.+"
    compile "com.android.support:support-v4:27.+"
    compile "com.android.support:appcompat-v7:27.+"
    compile "com.android.support:recyclerview-v7:27.+"
    compile "com.android.support:design:27.+"
    compile "com.android.support.constraint:constraint-layout:1.0.2"
    compile "com.github.bumptech.glide:glide:4.7.1"
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.60"
    compile "com.pushwoosh:pushwoosh:5.13.0"
    compile "com.pushwoosh:pushwoosh-amazon:5.13.0"
    compile "com.pushwoosh:pushwoosh-badge:5.13.0"
    compile "com.pushwoosh:pushwoosh-inbox:5.13.0"
    compile "com.pushwoosh:pushwoosh-inbox-ui:5.13.0"
    compile "com.facebook.android:facebook-android-sdk:4.38.1"
    compile "com.appsee:appsee-android:2.6.0"
    // SUB-PROJECT DEPENDENCIES END
}

Я не знаю, где искать.Я нашел обходной путь, который отключает проверку версии GoogleServicesPlugin в platforms/android/build.gradle, делая: com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true, но он не работает для меня.

Заранее спасибо.

РЕДАКТИРОВАТЬ: Кажется, я не единственный. Здесь .

Ответы [ 9 ]

39 голосов
/ 07 мая 2019

Решения, опубликованные здесь, не работают для меня.Замечательный человек открыл запрос на получение в cordova-firebase-plugin официальном репо, и он работает.

Шаги, которые я сделал:

1 - Удалите cordova-firebase-plugin с помощью ionic cordova plugin remove cordova-plugin-firebase

2 - Установить: ionic cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue

3 - rm -rf node_modules/ plugins/ platforms/android package-lock.json

4 - ionic cordova platform add android && npm install

5 - В моем случае я тожеиспользуйте библиотеку Firebase JS в старой версии, потому что новые не работают для меня.С этой библиотекой мне всегда нужно переустанавливать ее вручную после всех предыдущих шагов, также я сделал: npm install firebase@4.12.1.

И теперь она работает.

17 голосов
/ 07 мая 2019

Я нашел решение для меня на форуме, упомянутом в ответе Янника Хаманна ( Ионный форум ).

Комментарий от systems_qualigy здесь о блокировке версий в project.properties.

cordova.system.library.4=com.google.firebase:firebase-core:16.0.8 
cordova.system.library.5=com.google.firebase:firebase-messaging:17.5.0 
cordova.system.library.6=com.google.firebase:firebase-config:16.4.1 
cordova.system.library.7=com.google.firebase:firebase-perf:16.2.4

Мне нужно также заблокировать версию

com.google.android.gms:play-services-tagmanager:16.0.8

Я взял версию из ответа Martins и смог успешно перестроить свой проект.

5 голосов
/ 17 мая 2019

Сейчас мы поддерживаем разветвленную версию, которая включает в себя все изменения и исправления, сделанные разными авторами (которые спасли всех от этого шага Google).

https://github.com/wizpanda/cordova-plugin-firebase-lib#difference-from-the-fork-repository

Итак, теперьпросто удалите существующий плагин с помощью:

ionic cordova plugin remove cordova-plugin-firebase

А теперь установите новую версию с

ionic cordova plugin add cordova-plugin-firebase-lib --save

Cheers!

4 голосов
/ 08 мая 2019

Проблема возникла из-за недавних обновлений в firebase, где некоторые методы теперь устарели, ознакомьтесь с Android Firebase релизами . Для решения проблемы используйте следующий патч плагина cordova:

cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue
3 голосов
/ 07 мая 2019

делайте, как говорится, и запускайте ./gradlew :app:dependencies в каталоге проекта Andoird.

support-v4 даже добавляется три раза:

compile "com.android.support:support-v4:24.1.1+"
compile "com.android.support:support-v4:26.+"
compile "com.android.support:support-v4:27.+"

, так как этот проект Gradle синхронизируется:

implementation project(":CordovaLib")

implementation "com.google.android.gms:play-services-tagmanager:16.0.8"

implementation "com.google.firebase:firebase-messaging:18.0.0"
implementation "com.google.firebase:firebase-config:17.0.0"
implementation "com.google.firebase:firebase-perf:17.0.0"
implementation "com.google.firebase:firebase-core:16.0.9"

implementation "com.android.support:design:28.0.0"
implementation "com.android.support:support-v4:28.0.0"
implementation "com.android.support:customtabs:28.0.0"
implementation "com.android.support:appcompat-v7:28.0.0"
implementation "com.android.support:recyclerview-v7:28.0.0"
implementation "com.android.support:animated-vector-drawable:28.0.0"
implementation "com.android.support.constraint:constraint-layout:1.1.3"

implementation "com.facebook.android:facebook-android-sdk:4.42.0"
implementation "com.squareup.okhttp3:okhttp-urlconnection:3.10.0"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.60"
implementation "com.github.bumptech.glide:glide:4.9.0"
implementation "com.appsee:appsee-android:2.6.0"

implementation "com.pushwoosh:pushwoosh:5.13.0"
implementation "com.pushwoosh:pushwoosh-amazon:5.13.0"
implementation "com.pushwoosh:pushwoosh-badge:5.13.0"
implementation "com.pushwoosh:pushwoosh-inbox:5.13.0"
implementation "com.pushwoosh:pushwoosh-inbox-ui:5.13.0"
2 голосов
/ 07 мая 2019

Я только что добавил ниже в project.properties, который находится под dir платформы Android, и он заработал

cordova.system.library.4=com.google.firebase:firebase-core:16.0.8 
cordova.system.library.5=com.google.firebase:firebase-messaging:17.5.0 
cordova.system.library.6=com.google.firebase:firebase-config:16.4.1 
cordova.system.library.7=com.google.firebase:firebase-perf:16.2.4
2 голосов
/ 07 мая 2019

У меня точно такая же проблема.Проблема вызвана cordova-plugin-firebase.Я сейчас расследую.Будет обновлять этот ответ, когда я найду точный курс.

На данный момент вы можете попробовать ionic cordova plugin rm <plugin>, чтобы увидеть, устраняет ли это и вашу текущую ошибку.

Обновление: Посмотрите здесь для возможных исправлений. Этот открытый PR, кажется, работает.Надеюсь, это будет объединено очень скоро.

1 голос
/ 19 мая 2019

Ионная 4: 20-05-2019

Это работает для меня:

платформы / Android / project.properties

target=android-27
android.library.reference.1=CordovaLib
android.library.reference.2=app
cordova.system.library.1=com.squareup.okhttp3:okhttp-urlconnection:3.10.0
cordova.gradle.include.1=cordova-plugin-firebase/com1-build.gradle
cordova.system.library.2=com.google.android.gms:play-services-tagmanager:16.0.8
cordova.system.library.3=com.google.firebase:firebase-core:16.0.8
cordova.system.library.4=com.google.firebase:firebase-messaging:17.5.0
cordova.system.library.5=com.google.firebase:firebase-config:16.4.1
cordova.system.library.6=com.google.firebase:firebase-perf:16.2.4
cordova.system.library.7=com.android.support:support-annotations:27.+
1 голос
/ 08 мая 2019

Я столкнулся с той же ошибкой, я просто удалил platform / android и снова установил (ionic cordova prepare android) затем все вернулось как было.

...