android - 使用最新版本的 firebase 的问题

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

很抱歉就此问题提出了另一个问题。我已经遵循了旧问题中所有建议的解决方案,但它仍然不起作用。 我收到错误:

Error:Execution failed for task ':app:processTravelrepublicDebugGoogleServices'.

Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 9.0.0.

如果我为 google-play-services 切换回 9.0.0 然后我得到错误:

A/FirebaseApp: Firebase API initialization failure.
    java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.google.firebase.FirebaseApp.zza(Unknown Source)
        at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
        at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
        at com.google.firebase.FirebaseApp.zzbu(Unknown Source)
        at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1716)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1685)
        at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
        at android.app.ActivityThread.installProvider(ActivityThread.java:5555)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:5150)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5090)
        at android.app.ActivityThread.access$1600(ActivityThread.java:177)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1509)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:145)
        at android.app.ActivityThread.main(ActivityThread.java:5938)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
     Caused by: java.lang.IllegalAccessError: Method 'void android.support.v4.content.ContextCompat.<init>()' is inaccessible to class 'com.google.firebase.iid.zzg' (declaration of 'com.google.firebase.iid.zzg' appears in /data/data/uk.co.travelrepublic.travelrepublic/files/instant-run/dex/slice-com.google.firebase-firebase-iid-9.0.0_66d82148183e76f632e6315cc053cb13ba717e05-classes.dex)
        at com.google.firebase.iid.zzg.zzeC(Unknown Source)
        at com.google.firebase.iid.zzg.<init>(Unknown Source)
        at com.google.firebase.iid.zzg.<init>(Unknown Source)
        at com.google.firebase.iid.zzd.zzb(Unknown Source)
        at com.google.firebase.iid.FirebaseInstanceId.getInstance(Unknown Source)
        at java.lang.reflect.Method.invoke(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:372) 
        at com.google.firebase.FirebaseApp.zza(Unknown Source) 
        at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
        at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
        at com.google.firebase.FirebaseApp.zzbu(Unknown Source) 
        at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source) 
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1716) 
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1685) 
        at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) 
        at android.app.ActivityThread.installProvider(ActivityThread.java:5555) 
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:5150) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5090) 
        at android.app.ActivityThread.access$1600(ActivityThread.java:177) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1509) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:145) 
        at android.app.ActivityThread.main(ActivityThread.java:5938) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:372) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195) 

这是我的 build.gradle 的摘录

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
        mavenCentral()
    }
    dependencies {
        classpath 'io.fabric.tools:gradle:1.20.1'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
        classpath 'me.tatarka:gradle-retrolambda:3.3.1'

    }
}

repositories {
    maven { url 'https://maven.fabric.io/public' }
    mavenCentral()
}

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'me.tatarka.retrolambda'

android {
    compileSdkVersion 25
    buildToolsVersion '24.0.2'

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
...
}

dependencies {

    configurations.all {
        resolutionStrategy {
            force "com.android.support:design:$supportVersion"
            force "com.android.support:support-v4:$supportVersion"
            force "com.android.support:appcompat-v7:$supportVersion"
        }
    }

    compile fileTree(dir: 'libs', include: ['*.jar'])

    def supportVersion = '25.1.0'
    compile "com.android.support:appcompat-v7:$supportVersion"
    compile "com.android.support:design:$supportVersion"
    compile "com.android.support:support-v4:$supportVersion"
    compile "com.android.support:cardview-v7:$supportVersion"
    compile "com.android.support:recyclerview-v7:$supportVersion"
    compile "com.android.support:support-annotations:$supportVersion"
    compile "com.android.support:palette-v7:$supportVersion"
    compile "com.android.support:support-v4:$supportVersion"

    def playService = '9.8.0'
    compile "com.google.android.gms:play-services-ads:$playService"
    compile "com.google.android.gms:play-services-plus:$playService"
    compile "com.google.android.gms:play-services-maps:$playService"
    compile "com.google.android.gms:play-services-gcm:$playService"
    compile "com.google.android.gms:play-services-analytics:$playService"
    compile "com.google.android.gms:play-services-auth:$playService"

    compile "com.google.firebase:firebase-core:$playService"

    compile('com.crashlytics.sdk.android:crashlytics:2.5.3@aar') {
        transitive = true;
    }

    provided 'com.google.auto.value:auto-value:1.2'
    apt 'com.google.auto.value:auto-value:1.2'
    apt 'com.ryanharter.auto.value:auto-value-parcel:0.2.3-rc2'
    apt 'com.ryanharter.auto.value:auto-value-gson:0.3.2-rc1'
    apt 'com.jakewharton:butterknife-compiler:8.0.1'

    apt 'com.google.dagger:dagger-compiler:2.7'
    compile 'com.google.dagger:dagger:2.7'
    provided 'javax.annotation:jsr250-api:1.0'

    debugCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
    releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
    testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'

    def retrofit2 = '2.1.0'
    def okhttp3 = '3.4.1'

    compile "com.squareup.retrofit2:retrofit:$retrofit2"
    compile "com.squareup.retrofit2:adapter-rxjava:$retrofit2"
    compile "com.squareup.retrofit2:converter-gson:$retrofit2"
    compile "com.squareup.okhttp3:okhttp:$okhttp3"
    compile "com.squareup.okhttp3:okhttp-urlconnection:$okhttp3"
    compile "com.squareup.okhttp3:logging-interceptor:$okhttp3"

    // dependencies for testing
    def hamcrestVersion = '1.3'

    // matchers
    testCompile "org.hamcrest:hamcrest-core:$hamcrestVersion"
    testCompile "org.hamcrest:hamcrest-library:$hamcrestVersion"
    testCompile "org.hamcrest:hamcrest-integration:$hamcrestVersion"

    testCompile 'junit:junit:4.12'
    testCompile 'org.mockito:mockito-core:1.10.19'

    // Android instrumentation
    androidTestCompile 'junit:junit:4.12'
    androidTestCompile "com.android.support:support-annotations:$supportVersion"
    androidTestCompile "org.hamcrest:hamcrest-core:$hamcrestVersion"
    androidTestCompile "org.hamcrest:hamcrest-library:$hamcrestVersion"
    androidTestCompile "org.hamcrest:hamcrest-integration:$hamcrestVersion"
    androidTestCompile 'org.mockito:mockito-core:1.10.19'
    androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
    androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
    androidTestCompile 'com.android.support.test:runner:0.5'
    androidTestCompile 'com.android.support.test:rules:0.5'

    compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'
    compile 'com.bignerdranch.android:recyclerview-multiselect:0.2'
    compile 'com.google.maps.android:android-maps-utils:0.3.3'
    compile 'com.google.code.gson:gson:2.6.2'
    compile 'com.facebook.android:facebook-android-sdk:4.10.0'
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.4.0'
    compile 'com.squareup.okhttp:okhttp:2.4.0'
    compile 'de.greenrobot:eventbus:2.4.0'
    compile 'com.squareup.picasso:picasso:2.4.0'
    compile 'joda-time:joda-time:2.5'
    compile 'com.j256.ormlite:ormlite-android:4.48'
    compile 'commons-codec:commons-codec:1.8'
    compile 'com.mixpanel.android:mixpanel-android:4.8.6'
    compile 'com.jakewharton:butterknife:8.0.1'
    compile 'com.appsflyer:af-android-sdk:4.3.7@aar'
}

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

项目级别的build.gradle是:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        classpath 'com.google.gms:google-services:3.0.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

最佳答案

删除插件:文件顶部的'com.google.gms.google-services'

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
//apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'me.tatarka.retrolambda'

同时使用最新版本的 Google Play 服务 10.0.1

关于android - 使用最新版本的 firebase 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41220274/

相关文章:

gradle - 了解Gradle配置文件报告的任务顺序

android - 通过 GoogleApiAvailability.showErrorDialogFragment 呈现独立于 Activity 的样式对话框

java - 我应该在 Java 中使用哪种数据结构来实现 1 键多值

android - 如何制作可滚动的 TableLayout?

angular - map 运算符不适用于 AngularFireAuth Observable

ios - Firestore 消息 : Sending message to Topic with Swift

java - android fileObserver onEvent 未被调用

安卓反向地理编码

firebase - 如何在flutter中的Firebase身份验证中验证电子邮件?

android - Google Play 商店中同名的应用