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

Mac M1 Sonoma环境下EAS本地构建Android时Gradlew执行失败求助

EAS Android本地构建Gradle错误排查方案

一、Java版本是核心排查点

没错,Java版本不兼容是这类Gradle构建错误的高频原因。Expo/EAS对Android构建的Java版本有明确要求:

  • AGP(Android Gradle Plugin)7.0+ 要求Java 11;AGP 8.0+ 则必须用Java 17
  • 先检查当前Java版本:
    java -version
    
  • 版本不符的话,可通过brew或jenv切换:
    # 示例:安装并切换到Java 11
    brew install openjdk@11
    jenv local 11
    

二、Gradle环境与缓存清理

  • 进入android目录,彻底清理缓存后重试:
    ./gradlew clean
    rm -rf .gradle
    
  • 检查android/gradle/wrapper/gradle-wrapper.properties中的distributionUrl,确保Gradle版本与AGP版本匹配(比如AGP 7.4对应Gradle 7.5+)
  • 手动指定Java路径到gradle.properties:
    org.gradle.java.home=/Library/Java/JavaVirtualMachines/openjdk-11.jdk/Contents/Home
    

三、M1架构适配调整

Mac M1的ARM架构可能引发依赖兼容问题:

  • 确保Android SDK的NDK版本在25.x及以上
  • 在gradle.properties中添加架构兼容配置:
    org.gradle.jvmargs=-Xmx2048m --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED
    android.bundle.enableUncompressedNativeLibs=false
    

四、依赖与模块冲突排查

  • 执行./gradlew dependencies查看依赖树,检查第三方库是否存在版本冲突
  • 暂时移除非核心第三方库,尝试最小化构建,定位是否是特定库导致的错误
  • 升级expo和eas-cli到最新版本:
    npm install expo@latest
    npm install eas-cli@latest
    

内容的提问来源于stack exchange,提问作者Dan Sherwin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 06:39:57