我有一个复杂的AndroidManifest.xml
,其中包含一个receiver
:
<receiver android:name=com.my.package.ApplicationBroadcastReceiver>
我想为我的应用程序的调试版本创建一个AndroidManifest.xml
。
我将其放在debug/AndroidManifest.xml
下。调试清单中的唯一区别是我正在使用另一个接收器:
<receiver android:name=com.my.package.DebugApplicationBroadcastReceiver>
现在,我将AndroidManifest.xml
复制到debug/AndroidManifest.xml
并更改了该行。阅读this page about merge rules之后,我在debug/AndroidManifest.xml
文件的顶部指定了此规则:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.my.package"
android:versionCode="1"
android:versionName="1.0"
tools:node="replace">
但是,在构建时出现此错误:
Manifest merger failed : Attribute manifest@versionCode value=(1) from AndroidManifest.xml:5
is also present at AndroidManifest.xml:5
Attributes of <manifest> elements are not merged.
因此,即使我在tools:node="replace"
标记中指定了manifest
,合并仍然失败。
我的问题分为两个部分:
A。如何进行合并?
B。由于AndroidManifest.xml
和debug/AndroidManifest.xml
之间的区别只是一行,我如何只指定被覆盖的行而不是复制整个文件?
答案 0 :(得分:1)
根据您的错误消息,您需要这样的内容:
tools:replace="android:versionCode"