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

React Native升级Android SDK 30至31遇INSTALL_PARSE_FAILED_MANIFEST_MALFORMED错误

解决INSTALL_PARSE_FAILED_MANIFEST_MALFORMED错误(React Native 0.59.9 + targetSdk 31)

1. 对齐编译与目标SDK版本

你的compileSdkVersion停留在28,但targetSdkVersion已升到31,这是核心问题——Android构建规则要求compileSdkVersion必须大于等于targetSdkVersion。修改gradle配置:

compileSdkVersion = 31
buildToolsVersion = "31.0.0" // 同步升级到对应版本
targetSdkVersion = 31

2. 适配Android 12的android:exported强制要求

Android 12(SDK31)规定所有四大组件(Activity、Service、Receiver、Provider)必须显式声明android:exported属性,取值为true或false。React Native 0.59.9的默认Manifest未包含该配置,需手动添加:

  • 打开android/app/src/main/AndroidManifest.xml
  • 给所有<activity>、<service>、<receiver>标签补充属性:
    示例(主Activity):
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:windowSoftInputMode="adjustResize"
        android:exported="true"> <!-- 添加此行 -->
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    
    注意检查React Native自带的组件(如DevSettingsActivity),也要补上该属性。

3. 清理构建缓存

修改配置后,清理旧缓存避免干扰:

cd android
./gradlew clean
cd ..
npx react-native run-android

额外建议(可选但重要)

React Native 0.59.9是2019年的旧版本,对Android 12的原生支持非常有限,即使解决当前错误,后续可能还会遇到更多兼容性问题。如果条件允许,建议升级到0.65+版本(该版本开始正式支持Android 12),升级时需注意:

  • 将gradle插件版本升至4.2.0以上
  • 完成support库到AndroidX的迁移
  • 调整相关依赖版本匹配新的RN版本

内容的提问来源于stack exchange,提问作者mareesh waran

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 11:35:12