Manifest merger failed with multiple errors

image.png

这是在跑RN项目时AndroidManifest合并失败的报错,其中react-native-apk-installer-n(RN资源库)onsdk_all(百度导航SDK)在AndroidManifest里都有FileProvider的声明,然后看报错信息应该是各自对authorities和resource属性指定的值不同所导致的,解决方法其实在错误信息里也给出了:

Suggestion: add 'tools:replace="android:authorities"' to <provider> element at AndroidManifest.xml:16:9-24:20 to override.
Suggestion: add 'tools:replace="android:resource"' to <meta-data> element at AndroidManifest.xml to override.

就是分别在<provider>标签下加上tools:replace="android:authorities,在<meta-data>标签下添加tools:replace="android:resource",但是第三方的库我们不好直接修改,然后可以在自己的AndroidManifest文件里添加(就是把冲突部分抠出来再添加上tools:replace):

      <provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="${applicationId}.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true"
            tools:replace="android:authorities">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths"
                tools:replace="android:resource"/>
        </provider>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容