Expo运行Android时NDK版本不兼容API 33的问题求助
解决Expo托管工作流中Android SDK 33与NDK版本不兼容问题
核心问题
Expo托管工作流默认绑定了旧版NDK(23.1.7779620),这个版本最高仅支持API 31,和你设置的API 33冲突;而且就算本地删除旧NDK,执行expo run:android时仍会自动拉取旧版本,必须通过配置覆盖默认NDK版本。
解决步骤
- 安装
expo-build-properties插件,用于自定义Android构建配置:npx expo install expo-build-properties - 在项目的
app.json或app.config.js中,修改expo.android节点,添加插件配置指定兼容API 33的NDK版本(比如25.1.8937393,该版本支持API 33及以上),同时确认SDK版本设置:"expo": { "android": { "minSdkVersion": 33, "compileSdkVersion": 33, "targetSdkVersion": 33, "plugins": [ [ "expo-build-properties", { "android": { "ndkVersion": "25.1.8937393" } } ] ] } } - 清除旧的构建缓存,重新生成Android项目文件:
npx expo prebuild --clean - (可选)打开Android Studio,进入
Settings -> Appearance & Behavior -> System Settings -> Android SDK -> SDK Tools,勾选Show Package Details,确认已安装你指定的NDK版本,未安装则直接勾选安装。 - 重新运行项目:
npx expo run:android
原理说明
托管工作流下,Expo会根据app.json/app.config.js的配置自动生成Android项目文件,expo-build-properties插件可直接覆盖默认的NDK版本配置,无需手动修改生成的android文件夹,完全符合托管工作流的要求。
内容的提问来源于stack exchange,提问作者Szilágyi István
相关产品推荐
相关产品推荐

