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

使用eas build构建Expo React Native Android APK时Gradle构建失败

解决Expo构建Android时react-native-picker的Gradle compile()方法报错问题

问题原因

Gradle 7.x及以上版本已废弃compile()依赖配置语法,统一使用implementation()或api()替代。旧版react-native-picker的Android构建脚本仍在使用已淘汰的compile(),导致eas build -p android执行到Run gradlew阶段时触发方法找不到的错误。

解决方案

方案1:升级到官方维护的兼容版本(优先推荐)

原react-native-picker已停止维护,官方推荐使用@react-native-picker/picker替代:

  • 卸载旧依赖:npm uninstall react-native-picker
  • 安装兼容版本:npm install @react-native-picker/picker
  • 同步依赖后重新执行构建:eas build -p android

方案2:手动修改依赖配置(临时解决,不推荐)

找到项目内node_modules/react-native-picker/android/build.gradle文件,将第25行的compile()替换为implementation():

原代码示例:compile 'com.facebook.react:react-native:+'
修改后:implementation 'com.facebook.react:react-native:+'
修改完成后重新执行eas build -p android。

方案3:用patch-package永久固化修改(推荐用于必须保留旧依赖的场景)

  1. 安装patch-package工具:npm install patch-package --save-dev
  2. 按方案2的方法修改react-native-picker的gradle配置
  3. 生成补丁文件:npx patch-package react-native-picker
  4. 将生成的patches/react-native-picker+[对应版本号].patch文件提交到版本控制
  5. 后续执行npm install后补丁会自动应用,再执行eas build -p android即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 21:28:18