Google Play Console上传报错:需移除Manifest中的冲突内容
问题原因
Google Play要求Android应用的Content Provider Authority必须全局唯一,你遇到的错误是因为第三方依赖库(Firebase Core、image_picker相关)的Manifest中写死了com.propel.xxx这类固定Authority值,且该值已被其他开发者占用。即使单独查看依赖库的Manifest没发现问题,合并到你的项目Manifest后依然会继承这些固定值,导致冲突。
解决步骤
覆盖FirebaseInitProvider的Authority
在你的项目AndroidManifest.xml中添加以下节点,用tools:replace强制替换Authority为与你的应用包名绑定的动态值:<provider android:name="com.google.firebase.provider.FirebaseInitProvider" android:authorities="${applicationId}.firebaseinitprovider" android:exported="false" android:initOrder="100" tools:replace="android:authorities" />${applicationId}会自动替换为你的应用包名,确保Authority唯一。覆盖Image Provider的Authority
同样在AndroidManifest.xml中添加对应节点,替换冲突的com.propel.flutter.image_provider:<provider android:name="com.propel.flutter.image_provider" android:authorities="${applicationId}.flutter.image_provider" android:exported="false" tools:replace="android:authorities" />验证合并结果
打开Android Studio中你的AndroidManifest.xml,切换到底部的Merged Manifest标签,搜索这两个Provider的名称,确认它们的Authority已更新为你的包名开头的字段,不再是com.propel开头。清理并重建项目
执行命令清理缓存后重新构建发布包,确保修改生效:./gradlew clean ./gradlew assembleRelease
内容的提问来源于stack exchange,提问作者Pratik Butani
相关产品推荐
相关产品推荐

