美文网首页
Manifest merger failed with mult

Manifest merger failed with mult

作者: 夏_Leon | 来源:发表于2018-07-10 10:53 被阅读0次

Manifest merger failed with multiple errors, see logs

最常见的原因:AS的Gradle插件默认会启用Manifest Merger Tool,若Library项目中也定义了与主项目相同的属性(例如默认生成的Android:icon和Android:theme),则此时会合并失败,并报上面的错误。

解决办法:在manifest根标签上加入xmlns:tools="http://schemas.android.com/tools",并在Manifest.xml的application标签下添加tools:replace="icon,label,theme"(多个属性用,隔开,视情况而定)。或者tools:replace="android:icon, android:label, android:theme"

其他原因见 Manifest merger failed with multiple errors, see logs -- Android Studio问题汇总

而我项目中碰到的问题是

        <receiver android:name=".***.***.MyJPushMessageReceiver"
            android:enabled="true">
            <intent-filter>
                <action android:name="cn.jpush.android.intent.RECEIVE_MESSAGE" />

                <category android:name="${APPLICATION_ID}" />
            </intent-filter>
        </receiver>

该段代码中 ${APPLICATION_ID} 没有在gradle中定义。。。所以在build.gradle定义好就行

    productFlavors {
        flavors_debug {
            manifestPlaceholders = [
                    MY_APP_NAME   : "***重构版",
                    APPLICATION_ID: "com.***.***"
            ]
            applicationId "com.***.***"
        }
    }

其中牵扯到其他问题:build出错时没有打印出详细信息

在terminal中输入命令 gradlew processDebugManifest --debug 打开了gradle的debug信息打印,才发现到了具体错误信息。

相关文章

网友评论

      本文标题:Manifest merger failed with mult

      本文链接:https://www.haomeiwen.com/subject/gxlfpftx.html