React Native中Manifest合并失败:设android:exported=true仍报错
解决React Native Manifest合并失败(Android 12+ exported问题)
即便你已经给部分组件设置了android:exported="true",仍出现该错误,核心原因几乎都是第三方依赖的AndroidManifest.xml中,存在带intent-filter的组件未明确设置exported属性,导致清单合并时冲突。按以下步骤排查解决:
定位问题组件
执行命令./gradlew :app:mergeDebugAndroidManifest --stacktrace(Windows环境用gradlew.bat替代./gradlew),在输出日志里找到含android:exported的报错行,会明确指出是哪个依赖的哪个组件(Activity、Service、Receiver等)未配置该属性。手动覆盖第三方组件属性
在项目android/app/src/main/AndroidManifest.xml中,找到对应组件的标签,添加tools:node="merge"和明确的android:exported值。示例:<activity android:name="com.example.thirdparty.TargetActivity" android:exported="true" tools:node="merge" />注意:需根据组件功能判断值的设置——若组件需接收外部Intent(如启动页)设为
true,仅内部使用则设为false。自查本地组件
确保项目自身所有带<intent-filter>标签的Activity、Service、Broadcast Receiver,都已明确配置android:exported属性,无遗漏。升级第三方依赖
若涉事依赖已有新版本修复了该问题,直接升级到对应最新稳定版,即可自动解决exported缺失的问题。
内容的提问来源于stack exchange,提问作者Kaushal Lalani
相关产品推荐
相关产品推荐

