2013-06-05 59 views
2

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

error_image

请帮助我。

回答

5

Marc从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> 
+0

谢谢。解决了这个问题。但这很奇怪,crashlytics工具会在配置项目的crashlytics时自动在__activity__标签内添加元数据标签。所以我已将标记从活动移至应用程序标记。还有一件事是,在配置crashlytics时,它会使清单文件的结构变得格格不入。 – KunalK

+0

谢谢你让我知道!您能否通过电子邮件向我们提供详细信息,以便我们可以深入了解它? – marcr

+0

当然。会做的。 – KunalK

2

你能发表你写在AndroidManifest.xml的书吗? (当然除了你的API密钥)。

几个问题,以帮助确定问题:

  1. 您所放置<application> -tag内<meta-data> - 标签?
  2. 您是否保留com.crashlytics.ApiKey作为android:name
  3. 此外,你使用库,这使你有多个AndroidManifest.xml文件?
+0

1.yes我已将它放在标记中。 2.是的。 3.No.我没有使用任何库。 – KunalK

+2

我遇到了一个我认为是由第3点引起的问题;我的应用依赖于启用了清单和清单合并的库。 这是否会导致crashlytics问题? – athor

+0

我有同样的问题。我的PhoneGap应用程序已链接Google Play服务库。而在CrashLytics安装后,我得到这个错误:未知的错误合并清单 –

0

您应该通过上面提到的checklist

我的问题是,Gradle正在使用一个旧的前Fabric结构库。当我尝试使用新的Fabric插件时,它生成以下内容:

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

请注意,该名称是指Fabric。此更改为以下解决此问题:

<meta-data 
     android:name="com.crashlytics.ApiKey" 
     android:value="a3c615fae1c93b84c55a17937002c38581d6f55c" /> 
0

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

的解决办法是增加dexguard-project.txt有一行:

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

在写这个,Crashlytics documentation on DexGuard是达不到最新的尚未时间。

相关问题