Firebase与Android Instant应用程序崩溃

时间:2017-09-02 11:03:56

标签: android firebase android-instant-apps

我正在尝试使用以下方法在Android即时应用中初始化Firebase(11.2.0):

FirebaseApp.initializeApp(this);

但它会抛出以下异常,说明不支持jobscheduler:

      E/FirebaseApp: Firebase API initialization failure.
  java.lang.reflect.InvocationTargetException
      at java.lang.reflect.Method.invoke(Native Method)
      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.initializeApp(Unknown Source)
      at com.hello.world.myapp.provider.MyApplication.onCreate(MyApplication.java:93)
      at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5403)
      at android.app.ActivityThread.-wrap2(ActivityThread.java)
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
   Caused by: java.lang.SecurityException: Service: jobscheduler is not supported.
      at android.os.Parcel.readException(Parcel.java:1684)
      at android.os.Parcel.readException(Parcel.java:1637)
      at android.app.job.IJobScheduler$Stub$Proxy.cancel(IJobScheduler.java:202)
      at android.app.JobSchedulerImpl.cancel(JobSchedulerImpl.java:60)
      at com.google.android.gms.internal.zzcfj.zzazu(Unknown Source)
      at com.google.android.gms.internal.zzcfj.zzuh(Unknown Source)
      at com.google.android.gms.internal.zzcdm.initialize(Unknown Source)

我按照Android开发人员文档here上提供的集成说明进行操作。

2 个答案:

答案 0 :(得分:3)

这可能是Firebase错误。此Firebase Google Groups post中显示相同的堆栈跟踪。 Firebase团队成员Ian Barber于8月2日回复了帖子并说:

  

我们发现了Google Analytics for Firebase调用的问题   不幸的是,JobScheduler在Instantapps中不受支持。我们   在内部有一个修复,但不幸的是它必须公平地进行   很长的发布链,所以它会在它到达SDK之前几周   管理器。

我建议您联系Firebase support

答案 1 :(得分:0)

参考Google issue tracker JobScheduler现在应该修复

建议的方法是使用框架的JobScheduler for API> = 21因为Instant Apps只支持低至21 ,并将Firebase JobDispatcher用于21以下的已安装应用。

示例 https://github.com/firebase/firebase-jobdispatcher-android
如果任何问题仍然存在,请在Google issue tracker报告,他们将重新审核。