AndroidManifest文件合并出现的问题

出现的问题:

在有多个library依赖合并的情况下,很有可能会出现的问题

    
        
        // ...
    

在其他库中对于这些属性值都有可能是不同的,所以会导致在合并时出现不知道以哪个值为准的问题。

比如Library库中的supportsRtl属性

    // 这里值为true,而主App的值为false
    android:supportsRtl="true"

在合并AndroidManifest文件时就会出现下面的提示

Error:Execution failed for task ':app:processDevDebugManifest'.
> Manifest merger failed : Attribute application@supportsRtl value=(false) from AndroidManifest.xml:39:9-36
    is also present at [Library:unspecified] AndroidManifest.xml:14:9-35 value=(true).
    Suggestion: add 'tools:replace="android:supportsRtl"' to  element at AndroidManifest.xml:6:5-15:19 to override.

解决方案:

利用tools命名空间替换其他依赖库的属性,这样就统一了这个属性的最终取值。

    
        
    

如果一不小心写错需要的属性名,就会报下面的错,所以需要准确的对应属性名。

    tools:replace specified at line:34 for attribute android:suppotsRtl, but no new value specified

你可能感兴趣的:(AndroidManifest文件合并出现的问题)