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>