2

我发现了有关 Crashlytics 的问题。我已经成功地将 crashlytics 集成到 Eclipse 中。并在带有标签的AndroidManifest.xml文件中使用 api 键配置了我的示例 android 应用程序。meta-data在我的Crashlytics.start(this)活动课上。但是当我尝试运行它时,它给了我一个错误,即 无法初始化 Crashlytics,AndroidManifest.xml 中缺少 API 密钥。当条目已经存在于清单文件中时。以下是错误日志。

错误图像

请帮我。

4

4 回答 4

5

来自 Crashlytics 的马克在这里。下面是一个示例 AndroidManifest.xml - 应该可以帮助您。此外,我们很高兴通过 crashlytics dot com 的支持提供帮助。

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              package="com.example.myapp"
              android:versionCode="1"
              android:versionName="1.0">

        <uses-permission android:name="android.permission.INTERNET"/>

        <application android:label="@string/app_name">
                <activity android:name="MyActivity"
                          android:label="@string/app_name">
            </activity>

            <meta-data android:name="com.crashlytics.ApiKey" 
                       android:value="YOUR_API_KEY"/>
        </application>
    </manifest> 
于 2013-06-07T18:07:24.210 回答
2

你能把你写的东西贴出来AndroidManifest.xml吗?(当然,您的 API 密钥除外)。

帮助确定问题的几个问题:

  1. 您是否将 -tag 放在<meta-data>-tag 内<application>
  2. 你有保留com.crashlytics.ApiKeyasandroid:name吗?
  3. 另外,您是否使用使您拥有多个AndroidManifest.xml文件的库?
于 2013-06-05T13:57:49.160 回答
0

您应该仔细阅读上述清单

我的问题是 Gradle 使用的是较旧的 pre-Fabric 库。当我尝试使用新的 Fabric 插件时,它生成了以下内容:

    <meta-data
        android:name="io.fabric.ApiKey"
        android:value="myapikey1234" />

请注意,该名称指的是 Fabric。将其更改为以下内容可解决此问题:

    <meta-data
        android:name="com.crashlytics.ApiKey"
        android:value="myapikey1234" />
于 2016-09-21T18:42:14.367 回答
0

我从旧版本更新了 Crashlytics,元数据android:name="com.crashlytics.ApiKey"更改为android:name="io.fabric.ApiKey". 这破坏了我的发布版本,因为 DexGuard 删除了它认为未使用的元数据元素。

修复是添加dexguard-project.txt一行:

-keep class io.fabric.** { *; }

在撰写本文时,DexGuard 上的 Crashlytics 文档还不是最新的。

于 2017-07-18T11:32:43.360 回答