Android OneSignal导致Google Play服务版本更改
我正试图将OneSignal集成到我的项目中,但这会导致Google Play服务出错 这是我的Android OneSignal导致Google Play服务版本更改,android,firebase,android-gradle-plugin,google-play-services,onesignal,Android,Firebase,Android Gradle Plugin,Google Play Services,Onesignal,我正试图将OneSignal集成到我的项目中,但这会导致Google Play服务出错 这是我的build.gradle: apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'io.fabric' dependencies { ... implementation "com.
build.gradle
:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'io.fabric'
dependencies {
...
implementation "com.google.firebase:firebase-core:16.0.1"
implementation "com.google.firebase:firebase-messaging:17.3.0"
implementation "com.google.android.gms:play-services-plus:15.0.1"
implementation "com.google.android.gms:play-services-auth:15.0.1"
implementation "com.google.android.gms:play-services-location:15.0.1"
implementation "com.google.android.gms:play-services-maps:15.0.1"
implementation "com.google.android.gms:play-services-places:15.0.1"
implementation "com.google.android.gms:play-services-wallet:15.0.1"
...
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'io.fabric'
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
dependencies {
...
implementation "com.google.firebase:firebase-core:16.0.1"
implementation "com.google.firebase:firebase-messaging:17.3.0"
implementation "com.google.android.gms:play-services-plus:15.0.1"
implementation "com.google.android.gms:play-services-auth:15.0.1"
implementation "com.google.android.gms:play-services-location:15.0.1"
implementation "com.google.android.gms:play-services-maps:15.0.1"
implementation "com.google.android.gms:play-services-places:15.0.1"
implementation "com.google.android.gms:play-services-wallet:15.0.1"
...
implementation 'com.onesignal:OneSignal:3.9.1'
...
}
apply plugin: 'com.google.gms.google-services'
现在,我添加了一个信号
buildscript {
...
dependencies {
...
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:0.8.1'
...
}
}
这是我更新的build.gradle
:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'io.fabric'
dependencies {
...
implementation "com.google.firebase:firebase-core:16.0.1"
implementation "com.google.firebase:firebase-messaging:17.3.0"
implementation "com.google.android.gms:play-services-plus:15.0.1"
implementation "com.google.android.gms:play-services-auth:15.0.1"
implementation "com.google.android.gms:play-services-location:15.0.1"
implementation "com.google.android.gms:play-services-maps:15.0.1"
implementation "com.google.android.gms:play-services-places:15.0.1"
implementation "com.google.android.gms:play-services-wallet:15.0.1"
...
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'io.fabric'
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
dependencies {
...
implementation "com.google.firebase:firebase-core:16.0.1"
implementation "com.google.firebase:firebase-messaging:17.3.0"
implementation "com.google.android.gms:play-services-plus:15.0.1"
implementation "com.google.android.gms:play-services-auth:15.0.1"
implementation "com.google.android.gms:play-services-location:15.0.1"
implementation "com.google.android.gms:play-services-maps:15.0.1"
implementation "com.google.android.gms:play-services-places:15.0.1"
implementation "com.google.android.gms:play-services-wallet:15.0.1"
...
implementation 'com.onesignal:OneSignal:3.9.1'
...
}
apply plugin: 'com.google.gms.google-services'
现在,与此同步将导致错误:
Failed to resolve: com.google.firebase:firebase-core:17.3.0
...
Failed to resolve: com.google.android.gms:play-services-plus:17.3.0
...
Failed to resolve: com.google.android.gms:play-services-auth:17.3.0
...
出于某种原因,添加OneSignal会导致Google Play服务升级到我的firebase messaging
版本(17.3.0)
有办法解决这个问题吗?谢谢。您还需要在顶级版本中使用最新版本的Google Play services插件。gradle:
classpath 'com.google.gms:google-services:4.1.0'
尝试添加google存储库
repositories {
jcenter()
google()
...
}
一个信号在内部处理firebase的依赖关系。为什么在应用程序gradle中使用firebase依赖项?移除它们并重建 移除它们
implementation "com.google.firebase:firebase-core:16.0.1"
implementation "com.google.firebase:firebase-messaging:17.3.0"
尝试使用版本范围,并在项目级渐变中替换此版本
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.11.0, 0.99.99]'
}
这是应用程序级别的渐变依赖项
implementation 'com.onesignal:OneSignal:[3.9.1, 3.99.99]'
此外,你还用一个信号ID(来自你当前发布的gradle的想法)唱着歌
再加上
使用syn do clean and rebuild project选项后,您需要使用最新版本的firebase依赖项,如下所示:
com.google.firebase:firebase-core:16.0.3
com.google.firebase:firebase-messaging:17.1.0
com.google.firebase:firebase-crash:16.0.1
com.google.firebase:firebase-config:16.0.0
com.google.firebase:firebase-perf:16.0.0
试试这个。嗨,道格,我以前用过
com.google.gms:google services:4.0.1
,但我刚刚用4.1.0
试过,还是一样的问题。Android Studio没有像往常一样提示更新版本。我更新了我的问题,添加OneSignal
似乎有问题。我不知道它使用了Firebase,这更有意义。但我不想让一个信号控制我的firebase版本。我尝试按照你的建议删除firebase,但我遇到了另一个错误。“Android dependency'com.google.firebase:firebase measurement connector:15.0.0”设置为compileOnly/provided,不受支持“不,我不在任何地方使用firebase measurement
。添加一个范围似乎解决了这个问题。你知道为什么对一个信号使用范围更好吗?我在build.gradle中有我的ID,出于安全原因,我只是从问题中省略了它。