问题描述
我在一个离子项目上遇到了一个问题,它昨天开始发生而没有修改任何依赖项.
I have a problem on an ionic project that it started happening yesterday without modifying any dependency.
当我运行 ionic cordova run android 我有这个错误:
When I run ionic cordova run android I have this error:
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.
但是这些天我没有安装任何依赖项.
But I didn't installed any dependency in these days.
这是我的 cordova 插件 列表:
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 中找到了这些依赖项(如果很高兴知道的话):
I found these dependencies in my platforms/android/app/build.gradle (if it's good to know):
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 }
我不知道在哪里搜索.我发现了一种解决方法,即在 platforms/android/build.gradle 中禁用 GoogleServicesPlugin 的版本检查: com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true 但它对我不起作用.
I don't know where to search. I found a workaround that is disabling version check of GoogleServicesPlugin in the platforms/android/build.gradle making: com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true but it doesn't work for me.
提前致谢.
编辑:看来我不是唯一一个.这里.
EDIT: It seems like i'm not the only one. Here.
推荐答案
这里发布的解决方案没有对我有用.一个奇葩的人在cordova-firebase中打开了一个pull request-plugin 官方 repo 并且可以正常工作.
No solutions posted here worked for me. A wonderful person opened a pull request in the cordova-firebase-plugin official repo and it works.
我做的步骤:
1 - 使用 ionic cordova plugin remove cordova-plugin-firebase
2 - 安装:ionic cordova plugin add cordova-plugin-firebasex
3 - rm -rf node_modules/plugins/platforms/android package-lock.json
4 - ionic cordova 平台添加 android &&npm 安装
现在它开始工作了.