Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android OneSignal导致Google Play服务版本更改_Android_Firebase_Android Gradle Plugin_Google Play Services_Onesignal - Fatal编程技术网

Android 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.

我正试图将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.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,出于安全原因,我只是从问题中省略了它。