在我的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.
任何帮助,将不胜感激。
通过右键单击“kit-libs”然后选择刷新工具包,尝试刷新kit-libs文件夹。
我只是仔细研究了这一点。这不起作用,因为android:value
属性是字面意思。要使用资源ID,您必须使用android:resource
属性,但Fabric gradle插件根本不使用此android:resource
属性,因为它将清单处理为XML文档而不是Android Manifest类。
在反编译Fabric源代码并弄清楚DefaultManifestData
和StandardAndroidProject
类如何工作之后,我确认了以下内容:
通过使用以下内容创建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>
您的debug ApiKey位于您项目的Organization Settings页面中。