可以`工具:替换=" android:supportsRtl"`同时使用`工具:ignore =" AllowBackup"`?

时间:2016-08-27 07:19:23

标签: android android-manifest

发布于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"/>

这是一个错误吗?或者我错过了什么?

1 个答案:

答案 0 :(得分:0)

原来这是一个问题,在I32310f1c4a1e6e8847aa14be34689c5ed406e2a7修复。我还没有找到实际的提交差异,如果有人知道如何找到这些提交,请发表评论。

还报告了这两个问题:

这两个问题都标记为已解决。我的<application>标记的最终版本只是replace内容,我删除了所有ignore属性并传递了构建。我现在在Android Studio中有lint(可视)警告,但它不会影响构建。