React Native构建失败报错‘compileSdkVersion未指定’求助
解决「compileSdkVersion is not specified」报错的方案
1. 修复环境变量配置错误
你的.bash_profile里的PATH配置存在变量引用错误,ANDROID_SDK_ROOT前面缺少$符号,导致系统无法正确识别SDK路径。修改后的配置如下:
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk export ANDROID_HOME=$ANDROID_SDK_ROOT export PATH=$PATH:$ANDROID_SDK_ROOT/emulator export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools export PATH=$PATH:$ANDROID_SDK_ROOT/tools export PATH=$PATH:$ANDROID_SDK_ROOT/tools/bin
修改后执行source ~/.bash_profile让配置生效,再通过echo $PATH确认路径是否正确加载。
2. 明确指定项目的compileSdkVersion
Expo裸工作流项目需要在安卓模块的配置文件中明确指定编译SDK版本,操作如下:
- 打开项目根目录下的
android/build.gradle文件 - 在
buildscript的ext块中添加(如果没有则创建)compileSdkVersion等配置,使用你已安装的android-33版本:
buildscript { ext { buildToolsVersion = "33.0.0" minSdkVersion = 21 compileSdkVersion = 33 targetSdkVersion = 33 // React Native 0.70+版本需指定kotlin版本 kotlinVersion = "1.8.0" } // 保留文件中原有其他代码 }
- 保存文件后,回到项目根目录执行
./gradlew clean清理缓存,再重新运行npm run android
3. 检查SDK组件完整性
虽然你已安装android-31和android-33-ext,仍需确认对应组件是否完整:
- 打开Android Studio的SDK Manager
- 切换到「SDK Tools」标签,确保勾选与compileSdkVersion 33匹配的Build Tools(如33.0.0)
- 确认Platform Tools为最新版本,如有更新则安装
4. 验证虚拟设备兼容性
确保你的虚拟设备系统版本(API级别)不低于项目指定的minSdkVersion(上述配置为21,即Android 5.0),若当前虚拟设备API级别过低,需切换或创建符合要求的虚拟设备。
内容的提问来源于stack exchange,提问作者Arkadi
相关产品推荐
相关产品推荐

