Android Manifest合并失败求助:存在未匹配的替换声明警告
Android Manifest合并错误及解决办法
错误详情
- Manifest合并失败
参与合并但未贡献任何元素的清单文件包括:
- activity:1.2.1 manifest
- tracing:1.0.0 manifest
- annotation-experimental:1.1.0 manifest
- core-runtime:2.1.0 manifest
- exoplayer-extractor:2.18.0 manifest
- exoplayer-core:2.18.0 manifest
- loader:1.0.0 manifest
- lifecycle-runtime:2.3.1 manifest
- exoplayer-hls:2.18.0 manifest
- exoplayer-common:2.18.0 manifest
- versionedparcelable:1.1.1 manifest
- lifecycle-livedata-core:2.3.0 manifest
- exoplayer-database:2.18.0 manifest
- fragment:1.3.1 manifest
- exoplayer:2.18.0 manifest
- viewpager:1.0.0 manifest
- savedstate:1.1.0 manifest
- lifecycle-viewmodel:2.3.0 manifest
- exoplayer-dash:2.18.0 manifest
- exoplayer-ui:2.18.0 manifest
- exoplayer-smoothstreaming:2.18.0 manifest
- exoplayer-datasource:2.18.0 manifest
- media:1.4.3 manifest
- exoplayer-rtsp:2.18.0 manifest
- lifecycle-livedata:2.1.0 manifest
- window-java:1.0.0-beta04 manifest
- lifecycle-viewmodel-savedstate:2.3.0 manifest
- exoplayer-decoder:2.18.0 manifest
- customview:1.0.0 manifest
- android.app debug manifest
- android.assets_audio_player_web manifest
- android.connectivity_plus manifest
- android.device_info_plus manifest
- android.flutter_plugin_android_lifecycle manifest
- android.package_info_plus manifest
- android.path_provider_android manifest
- android.permission_handler_android manifest
- android.shared_preferences_android manifest
- android.syncfusion_flutter_pdfviewer manifest
- android.video_player_android manifest
- android.vocsy_epub_viewer manifest
- android.wakelock manifest
- 合并警告错误
在AndroidManifest.xml第9行标记的
provider#com.crazecoder.openfile.FileProvider@android:authorities声明用于替换其他声明,但未找到对应的待替换声明,该问题来自android.app debug manifest第8行。
解决步骤
针对FileProvider替换警告
- 打开
android.app debug manifest文件,定位到第8行的FileProvider配置,检查是否添加了tools:replace="android:authorities"属性。 - 如果没有其他依赖库或模块声明了相同
android:authorities的FileProvider,直接移除tools:replace属性即可消除警告。 - 如果确实需要替换authorities配置,确认项目中存在重复声明的FileProvider,统一调整所有声明的authorities值,或确保
tools:replace指向的目标声明存在。
针对无贡献元素的清单文件
这类文件一般不会影响编译,若要消除相关提示:
- 检查项目依赖,移除不必要的冗余依赖。
- 通过Gradle配置,在
android块中添加清单合并规则,排除不需要参与合并的清单文件,示例:
android { packagingOptions { exclude 'META-INF/*.xml' } }
(注:根据实际情况调整排除路径,避免误删必要配置)
内容的提问来源于stack exchange,提问作者Muhammad Hassam
相关产品推荐
相关产品推荐

