我的应用中需要Firebase Cloud Messaging和Nearby支持。 最新允许的附近版本为9.0.0 。所以,我必须使用以下依赖项:
//Firebase
compile ‘com.google.firebase:firebase-core:9.0.0'
compile ‘com.google.firebase:firebase-messaging:9.0.0'
//Nearby
compile ‘com.google.android.gms:play-services-nearby::9.0.0’
它成功编译但是当我尝试使用IllegalAccessError让Firebase实例应用程序崩溃时:
java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread.
at rx.android.schedulers.LooperScheduler$ScheduledAction.run(LooperScheduler.java:114)
at android.os.Handler.handleCallback(Handler.java:746)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
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/app/com.obolus.poc.customer-1/base.apk)
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)
对这些组件使用不同版本会导致编译错误。没有附近的Firebase 10.0.1工作正常,但我需要两者。
我该如何解决这个问题?
感谢。
解决方案
也许这是一个错误但是现在确保播放服务插件会正确检查可用版本放置行
apply plugin: 'com.google.gms.google-services'
build.gradle文件的底部 (在依赖项块下面)。
查看https://firebase.google.com/docs/android/setup#add_the_sdk
答案 0 :(得分:2)
我认为你错了,附近的最新版本是v10和Firebase一样 使用
下的以下依赖项com.google.android.gms:play-services-nearby:10.0.1
com.google.firebase:firebase-core:10.0.1
com.google.firebase:firebase-messaging:10.0.1