使用最新版本的firebase的问题

时间:2016-12-19 10:15:06

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

很抱歉打开了有关此问题的其他问题。我已经按照旧问题中的所有建议的解决方案,但它仍然无效。 我收到错误:

  

错误:任务执行失败   ':应用程序:processTravelrepublicDebugGoogleServices'

     
    

请通过更新google-services插件的版本来修复版本冲突(有关最新版本的信息是     可在     https://bintray.com/android/android-tools/com.google.gms.google-services/)     或将com.google.android.gms的版本更新为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" }
    }
}

3 个答案:

答案 0 :(得分:10)

删除文件顶部的插件'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

答案 1 :(得分:0)

您的biuld.gradle看起来有两次compile "com.android.support:support-v4:$supportVersion"删除一个,如果您使用的是v7,则不需要v4。清洁&amp;建立。

答案 2 :(得分:0)

build.gradle

中删除此内容
compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

也许这有助于你。