9

在我的 android 应用程序中,我在

AndroidManifest.xml

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

在strings.xml中

 <string name="fabric_key">XXXXXXXXXXXXXXXXXXXXXXXX</string>

当我尝试构建项目时,出现以下错误:

Error:Execution failed for task ':app:fabricGenerateResourcesDevDebug'.
Crashlytics Developer Tools error.

任何帮助,将不胜感激。

4

2 回答 2

0

我只是仔细研究了一下。这不起作用,因为该android:value属性是按字面意思获取的。要使用资源 id,您必须改用android:resource属性,但 Fabric gradle 插件根本不使用此android:resource属性,因为它将清单作为 XML 文档而不是作为 Android Manifest 类处理。

在反编译 Fabric 源代码并弄清楚DefaultManifestDataStandardAndroidProject类是如何工作的之后,我确认了以下内容:

为调试构建提供单独 ApiKey 的最简单方法

app/src/debug/AndroidManifest.xml通过使用以下内容创建来利用清单合并(您必须使用该tools:replace属性才能工作):

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <application>
        <!-- Meta-data -->
        <meta-data
            android:name="io.fabric.ApiKey"
            android:value="[yourDebugApiKey]"
            tools:replace="android:value"/>
    </application>

</manifest>

您的调试 ApiKey位于项目的组织设置页面中。

于 2018-02-28T17:44:18.237 回答
0

尝试通过右键单击“kit-libs”然后选择刷新套件来刷新 kit-libs 文件夹。

于 2015-10-20T05:16:29.370 回答