美文网首页
清单合并问题

清单合并问题

作者: syomie | 来源:发表于2019-03-07 21:39 被阅读0次
    aapt : Manifest merge problem:……Error : uses-sdk : minSdkVersion 14 cannot be smaller than version 15 declared in library ……

    在app build.gradle文件下minSdkVersion配置版本低于引用库声明的版本,改到不小于引用库声明的版本即可。


    aapt : Manifest merge problem : AndroidManifest . xml Error : Attribute meta-data # APPKEY @ value at AndroidManifest . xml requires a placeholder substitution but no value for <KEY> is provided .

    简单说就是在需要合并的某清单需要一个值。 但<KEY>值没有设置,正常情况在app build.gradle defaultConfig下添加

    manifestPlaceholders = [
            KEY:"值",
            KEY1:"需要多个可半角逗号分割"
            ]

    即可解决。

    既然说了正常情况那就肯定有意外,比如某IDE的gradle被阉割了,manifestPlaceholders占位符不自动替换的时候,就需要手动替换了。

    比如

    aapt : Manifest merge problem : AndroidManifest . xml Error : Attribute meta-data #APPKEY@value at AndroidManifest . xml requires a placeholder substitution but no value for <KEY> is provided .

    解决方法就是在主工程的AndroidManifest.xml中application标签中添加

    <meta-data android:name="APPKEY" android:value="值" />

    然而出现了

    aapt : Manifest merge problem : Error : Attribute meta-data # APPKEY @ value value =(值) from AndroidManifest . xml … is also present at AndroidManifest . xml :… value=(${KEY}).Suggestion : add ' tools : replace =" android : value "' to < meta-data > element at AndroidManifest . xml :…to override .

    其实出现这个是因为我们的主工程中已经设置了android:name=”APPKEY”的值,而在module中也设置了android:name=”APPKEY”,所以编辑器在运行程序的时候会去合并,但是合并失败就会报此错误。

    错误提示中已经给出了解决方案,就在最后一句话中描述了。Suggestion : add ' tools : replace ="android : value"' to <meta-data> element at AndroidManifest.xml:…to override .

    即在manifest标签中声明命名空间

    xmlns:tools="http://schemas.android.com/tools"

    然后将

    <meta-data android:name="APPKEY" android:value="值" />

    替换为

    <meta-data android:name="APPKEY" android:value="值" tools:replace="android:value" />

    就可以了

    相关文章

      网友评论

          本文标题:清单合并问题

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