相关疑难解决方法(0)

项目树中的google-services.json位置

我正在阅读本手册,我不确定应该在哪里复制文件google-services.json?有很多文件夹包含一个app文件夹,我正在尝试开发它android wear.任何指南都会非常棒.到目前为止我已经把它放在这里: 在此输入图像描述

链接到教程

android google-cloud-messaging

19
推荐指数
2
解决办法
3万
查看次数

Firebase Analytics无法使用Instant App或Normal App

我有一个模块化的应用程序,以支持即时应用程序.

应用模块:

  • 应用
  • instantapp
  • 基础
  • 主要
  • 详情
  • 搜索

我尝试通过添加以下内容添加Firebase:

  • classpath' com.google.gms:google-services:3.1.1'→到Project Level build.gradle
  • api" com.google.firebase:firebase-core:${versions.firebase}"→到基本模块
  • 应用插件:' com.google.gms.google-services'→到基本模块的底部
  • google-services.json →到基本模块文件夹

当我运行非即时应用程序时,我收到以下错误:

I/FirebaseInitProvider:FirebaseApp初始化失败

E/FA:GoogleService初始化失败,状态:10,来自名称为google_app_id的字符串资源中的Google app id值丢失.

I/FA:应用程序测量正在启动,版本:11720

I/FA:启用调试日志记录运行:adb shell setprop log.tag.FA VERBOSE

I/FA:要启用更快的调试模式事件日志记录运行:adb shell setprop debug.firebase.analytics.app com.punpuf.chacaraselazer.app

E/FA:缺少google_app_id.Firebase Analytics已停用.见https:// goo(...)

E/FA:无法上传.应用测量禁用

I/FA:找不到标记管理器,因此不会使用

当我运行即时应用程序时,我收到以下错误:

V/FA:取消工作.JobID:1799580119

E/FirebaseApp:Firebase API初始化失败.(...)引起:java.lang.NullPointerException:尝试在空对象引用上调用接口方法'void android.app.job.IJobScheduler.cancel(int)'

I/FirebaseInitProvider:FirebaseApp初始化成功

如果我添加以下行:" FirebaseAnalytics.getInstance(this)",它不仅会收到以前的错误,还会崩溃:

E/AndroidRuntime:FATAL EXCEPTION:main进程:com.punpuf.chacaraselazer.app,PID:11273 java.lang.RuntimeException:无法启动活动ComponentInfo {(...)}:java.lang.NullPointerException:尝试调用接口null对象引用上的方法'void android.app.job.IJobScheduler.cancel(int)'

所以我的问题是如何让Firebase Analytics工作,而不是在我的应用的即时和非即时版本上崩溃.

虽然这个问题有点类似于在Android Instant应用程序中FirebaseApp初始化失败,但我的不包含相同类型的错误.

更新:我已经创建了一个新的Firebase项目,并更新了我的google-services.json,但仍然无效.

这是我的gradle文件:

android firebase firebase-analytics android-instant-apps

7
推荐指数
1
解决办法
3744
查看次数

Firebase支持即时应用程序的库依赖冲突

我正在尝试将即时应用程序实现到使用Firebase数据库的项目中.我的目标是SDK版本27,因此支持库的版本为27.0.2.

Firebase数据库版本为11.8.0,gms版本为3.1.0.当我尝试同步时,我收到以下错误:

Android dependency 'com.android.support:support-v4' has different 
version for the compile (25.2.0) and runtime (27.0.2) classpath. You 
should manually set the same version via DependencyResolution
Run Code Online (Sandbox Code Playgroud)

通过在即时应用程序之前显式添加以下依赖项,我能够解决此问题

implementation 'com.android.support:support-v4:27.0.2'
implementation 'com.android.support:support-media-compat:27.0.2'
Run Code Online (Sandbox Code Playgroud)

但是对于即时应用程序,即使我在功能模块(app-base)中有它们,当我尝试构建实际应用程序(com.android.application)时,我再次得到相同的错误.

我可以通过将这些冲突的依赖项移动到应用程序模块gradle文件中来解决这个问题,在这种情况下,同步成功,但是我面临另一个问题,这次是使用清单合并,这会阻止应用程序查找启动器活动:

来自AndroidManifest.xml的属性提供者#com.google.firebase.provider.FirebaseInitProvider@authorities value =(com.iamkaan.packagename.firebaseinitprovider):AndroidManifest.xml中还有10:13-72:33:350-423 value = (com.iamkaan.packagename.base.firebaseinitprovider).建议:在AndroidManifest.xml:8:9-12:39中添加'tools:replace ="android:authorities"'来覆盖.app主要清单(此文件),第9行

最后一个问题在某种程度上与firebase-core依赖关系有关,因为当我改变我的应用程序gradle依赖关系时

implementation project(':app-base')
Run Code Online (Sandbox Code Playgroud)

implementation (project(':app-base')) {
    exclude group: 'com.google.firebase', module:'firebase-core'
}
Run Code Online (Sandbox Code Playgroud)

我能够运行该应用程序.但是这一次,我开始在运行时遇到以下错误(我第一次打电话FirebaseDatabase.getInstance())

Default FirebaseApp is not initialized in this process com.iamkaan.packagename. Make sure to call FirebaseApp.initializeApp(Context) …
Run Code Online (Sandbox Code Playgroud)

android firebase android-gradle-plugin firebase-realtime-database android-instant-apps

6
推荐指数
1
解决办法
2929
查看次数