发布于https://stackoverflow.com/a/39178185/3286489,解决错误如下
Error:Execution failed for task ':app:processProductionDebugManifest'.
> Manifest merger failed : Attribute application@supportsRtl value=(false) from AndroidManifest.xml:23:9-36
is also present at [com.mylibrarypackage:mylibrary:1.0.0] AndroidManifest.xml:14:9-35 value=(true).
Suggestion: add 'tools:replace="android:supportsRtl"' to <application> element at AndroidManifest.xml:18:5-67:19 to override.
我们可以使用添加tools:replace="android:supportsRtl"
,如下所示。
<application
android:label="@string/app_name"
android:supportsRtl="false"
tools:replace="android:supportsRtl"/>
这很有效。
但是,如果我们在应用标记中有tools:ignore="AllowBackup"
,则tools:replace
似乎无效,并且上述错误仍然存在。
<application
android:label="@string/app_name"
android:supportsRtl="false"
tools:ignore="AllowBackup"
tools:replace="android:supportsRtl"/>
这是一个错误吗?或者我错过了什么?
答案 0 :(得分:0)
原来这是一个问题,在I32310f1c4a1e6e8847aa14be34689c5ed406e2a7
修复。我还没有找到实际的提交差异,如果有人知道如何找到这些提交,请发表评论。
还报告了这两个问题:
这两个问题都标记为已解决。我的<application>
标记的最终版本只是replace
内容,我删除了所有ignore
属性并传递了构建。我现在在Android Studio中有lint(可视)警告,但它不会影响构建。