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

执行npx react-native run-android至99%时构建失败的问题求助

解决React Native安卓构建99%失败(INSTALL_PARSE_FAILED_MANIFEST_MALFORMED)的问题

问题定位

你遇到的错误核心是:目标SDK为31+(Android 12及以上)时,带有Intent Filter的组件必须显式声明android:exported属性,但报错指向的是androidx.media.session.MediaButtonReceiver,不是你自己的MainActivity——这就是你修改自己Activity的exported属性没用的原因。这个Receiver来自某个依赖库,它的Manifest配置不符合Android 12+的要求。

解决方案

方案1:在你的Manifest中显式声明该Receiver并补全属性

在AndroidManifest.xml的<application>标签内部添加以下代码,强制给这个Receiver加上android:exported属性:

<receiver
    android:name="androidx.media.session.MediaButtonReceiver"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MEDIA_BUTTON" />
    </intent-filter>
</receiver>

注:如果你的应用不需要接收媒体按钮事件,也可以设为android:exported="false",但通常设为true更合理。

方案2:升级相关依赖库

找到引入MediaButtonReceiver的依赖(比如安卓media库、或是React Native的某个第三方依赖),将其升级到适配Android 12+的版本——这些新版本会自动在组件中添加android:exported属性,从根源解决问题。

方案3:临时降低目标SDK版本(不推荐)

如果只是临时需要运行应用,可以在android/app/build.gradle中修改targetSdkVersion为30:

android {
    defaultConfig {
        // ...
        targetSdkVersion 30
        // ...
    }
}

注:这只是临时方案,长期来看还是需要适配Android 12+的要求。

验证

完成上述操作后,重新执行命令:

npx react-native run-android

内容的提问来源于stack exchange,提问作者MOHAMMAD SIDDIQUE

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:10:37