You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native适配Android12已配置android:exported仍构建报错

问题原因

你主项目的AndroidManifest.xml已经正确配置了android:exported属性,但React Native项目依赖的第三方库自带的清单文件中,带有intent-filter的组件没有显式声明该属性,构建执行清单合并操作时会触发Android 12+的校验规则,导致报错。

解决方案

  • 第一步:定位缺失属性的具体组件
    进入项目的android目录,执行以下命令输出完整的构建错误日志:
    • Mac/Linux系统:./gradlew processDebugManifest --stacktrace
    • Windows系统:gradlew.bat processDebugManifest --stacktrace
      日志中会明确标注缺少android:exported属性的组件全类名、所属依赖包。
  • 第二步:在主项目清单中重写对应组件配置
    在主项目的AndroidManifest.xml中加入对应组件的声明,显式指定android:exported值,示例如下:
    <!-- 先在manifest根标签补充tools命名空间声明 -->
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        package="com.kims.doctors">
        
    <!-- application标签内部加入你找到的缺失属性的组件配置 -->
    <activity
        android:name="这里填报错的组件全类名"
        android:exported="false" <!-- 外部不需要调用该组件就填false,需要接收外部跳转就填true -->
        tools:node="merge" />
    
  • 补充优化点:你当前清单中SplashActivity和MainActivity都配置了LAUNCHER类别的intent-filter,会导致桌面生成两个应用入口,不需要的话可以删除MainActivity的intent-filter配置。
  • 临时兜底方案:如果暂时排查不到问题,可将android/build.gradle中的compileSdkVersion和targetSdkVersion临时改为30,规避校验规则,该方案不适合长期使用,目前多数应用商店要求应用targetSdk≥31才能上架。

内容的提问来源于stack exchange,提问作者Jithendra Nath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 06:27:01