Expo托管工作流Android构建失败:修改app.json升级compileSdk34无效求助
解决Expo托管工作流中Android编译SDK版本升级到34的问题
在Expo托管工作流中,无法直接修改本地Android项目文件(无android目录),需通过官方支持的方式调整编译配置,以下是可行方案:
方案一:升级Expo SDK到支持Android 34的版本
Expo SDK 49及以上版本默认适配Android 34(搭配支持SDK 34的Android Gradle插件8.0+)。升级步骤:
- 运行命令升级SDK:
npx expo upgrade - 完成依赖更新后,重新执行
eas build -p android即可自动使用SDK 34编译
方案二:使用expo-build-properties插件覆盖编译配置(无需升级整个SDK)
若不想升级Expo SDK,可通过官方插件强制修改编译参数:
- 安装插件:
npx expo install expo-build-properties
- 在
app.json或app.config.js中添加插件配置,指定编译SDK版本和对应AGP版本:
{ "expo": { "plugins": [ [ "expo-build-properties", { "android": { "compileSdkVersion": 34, "targetSdkVersion": 34, "gradlePluginVersion": "8.0.2" // AGP 8.0+才支持SDK 34,必须指定对应版本 } } ] ] } }
- 保存配置后,重新执行
eas build -p android即可生效
注意事项
- 直接在
app.json根节点添加compileSdkVersion和targetSdkVersion不会生效,托管工作流中这些配置会被Expo默认构建模板覆盖,必须通过官方插件修改 - Android Gradle插件(AGP)版本必须与编译SDK版本匹配:SDK 34需要AGP 8.0及以上,因此配置中必须指定
gradlePluginVersion
内容的提问来源于stack exchange,提问作者Thaamarai Kannan SAS
相关产品推荐
相关产品推荐

