[英]Manifest merger exception: SAXParseException
我们有一个使用不同产品口味和产品类型的项目。 当我选择特定口味时,会生成此错误:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processSomeFlavorDebugManifest'.
> com.android.manifmerger.ManifestMerger2$MergeFailureException: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
这是我尝试过的:
奇怪的是,这个确切的分支对其他人来说非常好。 有没有人遇到过这种情况?
试试这个解决方案:
Gradle
assemble -info 提示我,清单具有不同的 SDK 版本并且无法合并。
我需要编辑我的 Manifests 和build.gradle
文件,然后一切正常。
要清楚,您需要编辑AndroidManifest.xml 中的uses-SDK
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="16" />
和 android 部分,特别是build.Gradle文件中的minSdkVersion
和targetSdkVersion
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 16
}
}
此错误是从 android gradle 插件内部的“清单合并”引发的。
尝试将此行添加到主清单文件中的manifest
节点。
xmlns:tools="http://schemas.android.com/tools"
注意:您需要使用相同的 android 支持库版本。 您需要使用支持库 28.0.0 版本。
我希望它会帮助你..!
检查你的清单是否有这个
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="yourpacagename">
有关更多信息,请在 github 上查看此问题
您所有的 xml 文件都应该在开头有这一行
<?xml version="1.0" encoding="UTF-8"?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.