将Firebase Crashlytics添加到Android项目时出现问题 - Crashlytics发现无效的API密钥:null

时间:2018-03-01 15:59:00

标签: android firebase crashlytics google-fabric

我正在尝试将Firebase crashlytics添加到我们的项目中,但却无法让它工作。

我已按照instructions向gradle文件添加了必要的行,但到目前为止没有成功。

我得到的主要问题是这条消息: Crashlytics发现了一个无效的API密钥:null

这似乎很奇怪,因为我认为Firebase不需要API密钥。

我使用Android studio 3.0.1和最新的gradle插件。我的项目是基于Ionic的,但我也试图手动修改gradle文件并获得相同的结果。

3 个答案:

答案 0 :(得分:18)

我遇到了类似的问题,结果发现我没有在build.gradle的底部应用google-services插件(在app模块中)

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

之后它正在运作

答案 1 :(得分:2)

与其他一些Firebase库不兼容,可以为您在清单中添加API密钥,例如com.firebaseui:firebase-ui-auth:2.3.0

您可以在Android Studio中查看Merged Manifest,看看是否是这种情况:enter image description here

如果可能,可以通过更新/删除库来解决此问题,否则您可以通过添加带有<meta-data>属性的tools:node="remove"标记来删除API密钥,如下所示:

<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="your.package">

    <application
        ...>

        <meta-data
            android:name="io.fabric.ApiKey"
            tools:node="remove"/>

    </application>

</manifest>

这会告诉manifest merger您不想要这个特定的元数据。

答案 2 :(得分:0)

    # Fabric properties file: app/fabric.properties    

apiSecret = x8x6x5x54x4xx8xxxx98 #your api hash

apiKey = xx389xxx8xx7x787x8x7x78x78x9x #api key

如果你在清单中添加api密钥删除它