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

EAS Android构建失败:无Android目录及Gradle配置问题求助

解决EAS Build Android构建的两个Gradle错误

错误1:expo-screen-orientation模块找不到'maven'插件

这个问题源于Gradle 7+版本移除了旧的maven插件,改用maven-publish,而部分旧版expo-screen-orientation仍在使用旧插件ID。修复步骤:

  • 优先执行版本适配:在项目根目录运行npx expo install expo-screen-orientation,让Expo自动匹配与当前SDK兼容的模块版本,这是最稳妥的解决方式。
  • 若版本兼容仍报错,手动修改node_modules/expo-screen-orientation/android/build.gradle:
    将开头的插件配置
    plugins {
        id 'maven'
    }
    
    替换为
    plugins {
        id 'maven-publish'
    }
    
  • 为避免npm install后修改丢失,用patch-package生成持久化补丁:
    1. 安装依赖:npm install patch-package --save-dev
    2. 修改文件后执行:npx patch-package expo-screen-orientation
    3. 后续安装依赖时补丁会自动生效。

错误2::expo项目未指定compileSdkVersion

这个问题是因为Expo模块的Gradle配置未正确继承项目的SDK版本设置,修复步骤:

  • 打开项目根目录的android/build.gradle,在buildscript的ext块中统一配置SDK版本(无此块则添加):
    buildscript {
        ext {
            compileSdkVersion = 33 // 版本需与Expo SDK对应,如SDK 49用33、SDK 50用34
            targetSdkVersion = 33
            minSdkVersion = 21
        }
        // ... 其他原有配置
    }
    
  • 打开android/app/build.gradle,确保正确引用根项目的版本变量:
    android {
        compileSdkVersion rootProject.ext.compileSdkVersion
        // ... 其他原有配置
    }
    
  • 若仍报错,检查node_modules/expo/android/build.gradle,确认它引用了根项目的compileSdkVersion:
    android {
        compileSdkVersion rootProject.ext.compileSdkVersion
        // ... 其他原有配置
    }
    
    未配置的话,同样用patch-package给expo模块打补丁。

额外建议

  • 构建前清理缓存:进入android目录执行./gradlew clean,或运行npx expo prebuild --clean重新生成原生目录。
  • 确保EAS CLI为最新版本:npm install -g eas-cli

内容的提问来源于stack exchange,提问作者newbie coder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 15:17:12