使用EAS Build构建React Native Android APK失败求助
解决Expo托管工作流中
eas build --platform android的Gradle构建错误 针对你遇到的两个Gradle构建错误,以下是适配托管工作流的具体解决步骤:
1. 解决Could not set property 'classifier'for task错误
这个问题大多是第三方依赖的Gradle配置与当前Expo SDK版本不兼容导致的,按以下步骤排查:
- 运行
npx expo doctor检查依赖冲突,按照提示修复所有不兼容的依赖。 - 查看
package.json中的依赖列表,重点检查涉及Android原生操作的库(如图片选择、文件操作类库),将其更新到兼容当前Expo SDK的最新版本。 - 如果更新后仍有问题,使用
npm overrides(或yarn resolutions)强制指定依赖的兼容版本。例如在package.json中添加:
"overrides": { "有问题的依赖包名": "兼容的版本号" }
之后重新执行npm install(或yarn install)。
2. 解决compileSdkVersion is not specified错误
托管工作流中compileSdkVersion由Expo SDK管控,但如果依赖强制要求特定版本或配置缺失,可通过expo-build-properties插件显式设置:
- 安装插件:
npx expo install expo-build-properties - 在
app.json或app.config.js的expo.plugins中添加配置(注意版本要与你的Expo SDK匹配,比如SDK 50对应compileSdkVersion 34,SDK 49对应33):
{ "expo": { "plugins": [ [ "expo-build-properties", { "android": { "compileSdkVersion": 34, "targetSdkVersion": 34, "minSdkVersion": 21 } } ] ] } }
最后步骤
- 确保
expo-cli和eas-cli是最新版本:npm install -g expo-cli eas-cli - 重新执行构建命令:
eas build --platform android
内容的提问来源于stack exchange,提问作者Kartic Joshi
相关产品推荐
相关产品推荐

