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

集成React Native时compileSdkVersion格式错误问题求助

解决React Native集成Android项目时react-native-restart的compileSdkVersion错误

问题原因

报错中出现的28是react-native-restart库内部safeExtGet方法的默认值,当项目根目录build.gradle的ext块未显式定义compileSdkVersion时,库会自动使用这个默认值,和你项目配置的31冲突,导致同步失败。

解决方法

方法1:在项目根build.gradle中显式配置ext参数

在项目根目录的build.gradle文件里,找到或新增ext代码块,添加对应版本参数,让依赖库能正确读取项目配置:

buildscript {
    ext {
        compileSdkVersion = 31
        minSdkVersion = 26
        targetSdkVersion = 31
    }
    // 其他原有配置...
}

这样react-native-restart里的safeExtGet('compileSdkVersion')就能正确获取到31,而非默认的28。

方法2:修改react-native-restart的build.gradle(需持久化补丁)

直接修改node_modules/react-native-restart/android/build.gradle中的编译版本配置,替换动态读取为固定值:

// 替换原代码 compileSdkVersion safeExtGet('compileSdkVersion')
compileSdkVersion 31

为避免每次npm install后配置被覆盖,可使用patch-package生成持久化补丁:

  1. 安装依赖:npm install patch-package --save-dev
  2. 修改完文件后执行:npx patch-package react-native-restart
  3. 后续安装依赖时,补丁会自动应用。

方法3:升级react-native-restart到最新版本

旧版本的react-native-restart可能存在参数读取逻辑问题,升级到最新版大概率已修复该兼容问题:

npm update react-native-restart
# 或使用yarn:yarn upgrade react-native-restart

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 04:55:16