如何修复Google Play服务错误

时间:2018-05-03 14:37:37

标签: android firebase google-play-services build.gradle

今天更新根文件夹中的播放服务后,我面临以下问题。我很困惑如何解决这个问题。

有人可以帮我解决这个问题吗?

这个错误很刺激。我不知道冲突在哪里。顺便说一下,为什么它在没有版本相互关联的情况下显示出冲突。

错误

  

com.google.android.gms库:play-services-measurement-base是   在[[15.0.0,15.0.0],被其他各种图书馆要求,   [15.0.2,15.0.2]],但解析为15.0.2。禁用插件并检查   你的依赖树使用./gradlew:app:dependencies。

build.gradle 脚本:

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'



android {
configurations.all {
    resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
}
compileSdkVersion 27
buildToolsVersion '27.0.3'
defaultConfig {
    applicationId "community.infinity"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    multiDexEnabled true
}
aaptOptions {
    cruncherEnabled = false
}
dexOptions {
    preDexLibraries false
    javaMaxHeapSize "4g"
}
buildTypes {
    release {
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard- android.txt'), 'proguard-rules.pro'
    }
    debug {
        ext.enableCrashlytics = false
    }
}

compileOptions {
    targetCompatibility 1.8
    sourceCompatibility 1.8
}

}

 dependencies {

implementation 'com.google.firebase:firebase-core:15.0.0'
implementation 'com.google.firebase:firebase-messaging:15.0.0'
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support'
    exclude module: 'support-annotations'
    exclude module: 'support-v4'
    exclude module: 'support-v13'
    exclude module: 'recyclerview-v7'
    exclude group: 'com.android.support', module: 'appcompat-v7'
})
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support:support-v4:27.1.1'
implementation 'de.hdodenhof:circleimageview:2.1.0'
implementation 'com.adamstyrc.cookiecutter:cookie-cutter:1.0.2'
implementation 'com.allattentionhere:fabulousfilter:0.0.5'
implementation 'com.github.florent37:diagonallayout:1.0.6'
implementation 'com.flaviofaria:kenburnsview:1.0.7'
implementation 'com.vstechlab.easyfonts:easyfonts:1.0.0'
implementation 'com.google.code.gson:gson:2.8.0'
implementation 'com.github.pwittchen:swipe:0.1.0'
implementation 'com.thesurix.gesturerecycler:gesture-recycler:1.4.0'
implementation 'com.github.iammert:MaterialIntroView:1.6.0'
implementation 'com.github.oxoooo:touch-image-view:1.0.1'
implementation 'com.github.deano2390:MaterialShowcaseView:1.2.0'
implementation 'com.squareup.okhttp:okhttp-urlconnection:1.6.0'
implementation('io.socket:socket.io-client:0.8.3') {
    // excluding org.json which is provided by Android
    exclude group: 'org.json', module: 'json'
}
implementation 'com.google.gms:google-services:3.3.0'
implementation 'com.iceteck.silicompressorr:silicompressor:2.1'
implementation 'com.fenchtose.nocropper:nocropper:0.2.0'
implementation 'me.relex:circleindicator:1.2.2@aar'
implementation('com.google.guava:guava:23.4-android') {
    exclude group: 'com.android.support'
    exclude module: 'support-annotations'
    exclude module: 'support-v4'
    exclude module: 'support-v13'
    exclude module: 'recyclerview-v7'
    exclude group: 'com.android.support', module: 'appcompat-v7'
}
implementation 'com.github.amlcurran.showcaseview:library:5.4.3'
implementation 'com.orhanobut:hawk:2.0.1'
implementation 'com.zsoltsafrany:needle:1.0.0'
implementation 'com.github.madrapps:pikolo:1.1.6'
implementation 'jp.wasabeef:richeditor-android:1.2.2'
implementation 'com.android.support:palette-v7:27.1.1'
testImplementation 'junit:junit:4.12'
implementation('com.github.bumptech.glide:glide:4.4.0') {
    transitive = true
}
implementation ("com.github.bumptech.glide:recyclerview-integration:4.4.0")   {
    // Excludes the support library because it's already included by Glide.
    transitive = false
}
annotationProcessor 'com.github.bumptech.glide:compiler:4.4.0'
implementation 'com.android.support:multidex:1.0.3'
implementation "me.leolin:ShortcutBadger:1.1.21@aar"
implementation 'com.hbb20:ccp:2.1.2'

}

9 个答案:

答案 0 :(得分:29)

您的一个依赖是拥有com.google.android.gms的不同版本。

更新

  

与过去相比,Firebase依赖项具有独立版本。如果   你有版本冲突然后你可以更新你的   com.google.gms:google-services。并开始定义独立   版本

更新com.google.gms:google-services

  

转到顶部(项目)级别build.gradle并将com.google.gms:google-services更新为版本4.1.0 or newer if available

buildscript {
    ...
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0'
        classpath 'com.google.gms:google-services:4.1.0' //< update this 
    }
}

将Firebase依赖关系更新为 Latest Versions

Firebase依赖版本可以是个人版本。请检查 Latest Versions

com.google.firebase:firebase-core:16.0.3    //Analytics
com.google.firebase:firebase-database:16.0.2    //Realtime Database

Orignal Solution(有用)

解决方法:

    来自冲突的依赖项
  1. Exclude com.google.android.gms
  2. 更新该依赖关系 if available
  3. 将您的com.google.android.gms版本更改为有冲突的版本。
  4. 问题

    如何查看使用com.google.android.gms的依赖项?

    1。按命令解决

    对于Android,请使用此行

     gradle app:dependencies
    

    或者如果你有一个gradle包装器:

    ./gradlew app:dependencies
    

    其中app是您的项目模块。

    此外,如果您想检查某些内容是compiletestCompile vs androidTestCompile依赖关系以及内容是什么:

    ./gradlew :app:dependencyInsight --configuration compile --dependency <name>
    ./gradlew :app:dependencyInsight --configuration testCompile --dependency <name>
    ./gradlew :app:dependencyInsight --configuration androidTestCompile --dependency <name>
    

    2使用这些插件

    Gradle View是一个Android Studio插件,您可以安装并显示依赖关系层次结构。 Methods Count是另一个插件,它还显示了依赖树。

答案 1 :(得分:6)

Firebase Android SDK now have independent version numbers,允许更频繁,更灵活的更新。

将google play gradle插件版本更新为最新版本,目前为3.3.0。

classpath 'com.google.gms:google-services:3.3.0'

并将库更新为latest version

Firebase Core   com.google.firebase:firebase-core:15.0.2
Ads             com.google.firebase:firebase-ads:15.0.0
Analytics       com.google.firebase:firebase-analytics:15.0.2
App Indexing    com.google.firebase:firebase-appindexing:15.0.0
Authentication  com.google.firebase:firebase-auth:15.1.0
Cloud Firestore com.google.firebase:firebase-firestore:16.0.0
Cloud Functions com.google.firebase:firebase-functions:15.0.0
Cloud Messaging com.google.firebase:firebase-messaging:15.0.2
Cloud Storage   com.google.firebase:firebase-storage:15.0.2
Crash Reporting com.google.firebase:firebase-crash:15.0.2
Crashlytics     com.crashlytics.sdk.android:crashlytics:2.9.1
Invites         com.google.firebase:firebase-invites:15.0.2
Performance Monitoring  com.google.firebase:firebase-perf:15.1.0
Realtime Database   com.google.firebase:firebase-database:15.0.0
Remote Config   com.google.firebase:firebase-config:15.0.2

同样reported至少使用版本15.0.2:

  

您需要将后一个依赖项的版本更新为15.0.2。这解决了Google Services Gradle插件版本3.3.0报告的问题:com.google.android.gms库:play-services-measurement-base正在[[15.0.0,15.0。 0],[15.0.2,15.0.2]],但解析为15.0.2 ...

答案 2 :(得分:3)

尝试这对我有用。

将此添加到文件的build.gradle结尾

com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

答案 3 :(得分:2)

Firebase组件现在可以拥有独立版本(请参阅最新发行说明:https://firebase.google.com/support/release-notes/android

可能发生的事情是您的其他依赖项之一是将com.google.firebase的多个版本:*依赖关系超出您的显式依赖关系

implementation 'com.google.firebase:firebase-core:15.0.0'
implementation 'com.google.firebase:firebase-messaging:15.0.0'

您可以通过将firebase-messaging的依赖关系移动到15.0.2来解决此特定问题。

答案 4 :(得分:1)

对我来说,我需要将com.google.android.gms:play-services-base更新为版本15.0.1,而不是15.0.0

implementation "com.google.android.gms:play-services-base:15.0.1"

答案 5 :(得分:1)

需要将核心库组件与其他firebase组件一起使用:

implementation 'com.google.firebase:firebase-core:16.0.0'

答案 6 :(得分:0)

我遇到了这个问题并在本节中找到了我的解决方案 https://firebase.google.com/support/release-notes/android#20180508

这表明并非所有firebase依赖项都具有相同的当前版本的版本号。所以你需要独立更新每一个。我的最终配置看起来像这样:

  

implementation "com.google.firebase:firebase-core:15.0.2" implementation "com.google.firebase:firebase-ml-vision:15.0.0" implementation "com.google.firebase:firebase-appindexing:15.0.0" implementation "com.google.android.gms:play-services-ads:15.0.0" implementation "com.google.android.gms:play-services-maps:15.0.0" implementation "com.google.android.gms:play-services-places:15.0.0" implementation "com.google.android.gms:play-services-location:15.0.0" implementation "com.google.firebase:firebase-auth:15.0.0" implementation "com.google.firebase:firebase-database:15.0.0" implementation "com.firebaseui:firebase-ui-database:1.0.1" implementation "com.google.firebase:firebase-storage:15.0.2" implementation "com.google.firebase:firebase-messaging:15.0.2"

希望您能看到谷歌服务插件3.3.0

带来的差异和新的更新

答案 7 :(得分:0)

我为此损失了4天,以下是对我有用的确切步骤:

service.files().list()

删除平台文件夹

cordova build android

答案 8 :(得分:0)

通过更新来解决此问题 在android project.properties

cordova.system.library.3=com.google.firebase:firebase-core:16.0.0
cordova.system.library.10=com.google.firebase:firebase-messaging:17.0.+

并且在android cordova中支持google service -build.gradle

dependencies {
    classpath 'com.android.tools.build:gradle:3.3.0'
    classpath 'com.google.gms:google-services:4.2.0'
}

ext.postBuildExtras = {
  if (project.extensions.findByName('googleServices') == null) {
    // apply plugin: 'com.google.gms.google-services'
    // class must be used instead of id(string) to be able to apply plugin from non-root gradle file
    apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
    googleServices { disableVersionCheck = true }
  }
}

这也可能对您有帮助。