即时应用架构的 Crashlytics 清单合并问题

Posted

技术标签:

【中文标题】即时应用架构的 Crashlytics 清单合并问题【英文标题】:Crashlytics Manifest Merge issue with Instant App Architecture 【发布时间】:2018-02-14 00:34:35 【问题描述】:

我有一个多功能即时应用程序设置,当我尝试查看应用程序的合并清单时,我看到以下内容:

Error: Attribute provider#com.crashlytics.android.CrashlyticsInitProvider@authorities
value=(com.happyapp.app.crashlyticsinitprovider) from AndroidManifest.xml:14:13-75 is also present
at AndroidManifest.xml:40:87-161 value=(com.happyapp.app.app.crashlyticsinitprovider). Suggestion: add 'tools:replace="android:authorities"' to <provider> element at AndroidManifest.xml:12:9-16:39 to override. app main manifest (this file), line 13

我查看了多个地方,但没有找到任何解决此问题的方法。我可以按照建议进行操作,但是清单中不存在提到要修复的行。

这是已安装的应用清单:

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

【问题讨论】:

也许复制/粘贴您的应用清单 xml 以查看我们是否可以提供帮助 这是您的应用模块的完整清单吗?从日志看来,您有一个 设置,并且 crashlytic 库也在定义。如果您有 ,请尝试添加日志建议的内容。 是的。这很简单。它只是一个简单的清单,聚合了所有模块(基础 + 功能) 如果我删除 crashlytics,那么一切正常。 然后检查所有模块清单,看看是否有定义 。此外,如果您可以将 crashlytics 库添加为源代码,您或许可以自己修改清单 【参考方案1】:

我的同事能够通过将以下元素添加到已安装的 apk AndroidManifest.xml 中来解决此问题

<application>
    <provider
        android:name="com.crashlytics.android.CrashlyticsInitProvider"
        android:authorities="com.happy.happyapp.happyapp.crashlyticsinitprovider"
        tools:replace="android:authorities" />
</application>

【讨论】:

以上是关于即时应用架构的 Crashlytics 清单合并问题的主要内容,如果未能解决你的问题,请参考以下文章

Crashlytics Answers 引发 Android 即时应用程序错误

Crashlytics 找不到清单

Fabric/Crashlytics 不会在 iPhone 5c 上安装应用程序,说需要 armv7s 构建,但这是在架构中设置的

Crashlytics错误:架构arm64的未定义符号

无法将 Eclipse 中的 crashlytics 与 ADT 集成

如何将多个清单文件嵌入/合并到 C# 应用程序中?