我的项目中有2个版本的AndroidManifest.xml文件,其中一个是主要版本,另一个用于调试。
在他们两个我都有android:label和在调试版本中我有tools:replace =" label"
通过gradle添加库后,我突然看到:
错误:任务':app:processMobileDebugManifest'的执行失败。
Manifest merger failed : Attribute application@label value=(XXXX Debug) from AndroidManifest.xml:36:13-45
is also present at [library_name] AndroidManifest.xml:13:9-41 value=(@string/app_name).
Suggestion: add 'tools:replace="android:label"' to element at AndroidManifest.xml:7:5-20:19 to override.
它已经存在! 我究竟做错了什么?
编辑1:
主要xml:
android:name="[package_name]"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
调试xml:
tools:replace="name, label"
android:name="[package_name]"
android:label="[debug_name]">
第三方库xml:
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
您可以发布清单文件吗?
当然,我从manifest.xml文件中添加了相关的应用程序定义。 我尝试用android:label替换标签,这是相同的东西,但也没有用
只需放置以下工具:replace =" android:label"
它已经存在于调试xml中,但不起作用
您必须按照Android Studio所说的去做
它已经存在,并且无法帮助您使用android:label切换标签。 同样的效果
我发现标签应与所有其他标签具有相同的值。
这意味着tools:replace仅在所有标签看起来像这样时才起作用:
android:label="@string/app_name"
在我的情况下,它不起作用,因为在调试清单中它看起来像这样:
android:label="debug name"
但是一旦我将其更改为android:label="@string/app_name"并在debug/values dir中添加了字符串,它便开始正常工作。
似乎是Android Studio中的错误。