我有一个复杂的AndroidManifest.xml
,其中包含一个receiver
:
<receiver android:name=com.my.package.ApplicationBroadcastReceiver>
我想为我的应用程序的调试版本创建一个
AndroidManifest.xml
。我把它放在
debug/AndroidManifest.xml
下。调试 list 中的唯一区别是我正在使用另一个接收器:<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
,合并仍然失败。我的问题分为两部分:
答:如何进行合并?
B.由于
AndroidManifest.xml
和debug/AndroidManifest.xml
之间的区别只是一行,我如何只指定被覆盖的行而不是复制整个文件?
最佳答案
根据错误消息,您需要执行以下操作:
tools:replace="android:versionCode"
关于android - list 合并失败的版本代码也位于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51896340/