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

react-native expo eject为react-native cli后安卓模拟器无法运行如何解决

这个报错的根因是 React Native 0.71 及以上版本配套的 Android Gradle Plugin (AGP) 7+ 已正式移除旧的maven插件,统一使用maven-publish插件实现发布能力,而 eject 后残留的低版本expo-application依赖仍在使用已废弃的maven插件配置,导致构建失败。

解决方案

方案一:升级expo相关依赖(优先推荐)

直接升级expo-application到适配AGP 7+的最新版本即可,操作步骤:

  • 执行安装命令:
    npm用户:npm install expo-application@latest
    yarn用户:yarn add expo-application@latest
  • 若其他expo-前缀的依赖也报同类错误,统一升级到对应最新稳定版即可。
  • 升级完成后清理gradle缓存重新构建:
    1. 进入安卓目录:cd android
    2. 执行清理命令:Mac/Linux运行./gradlew clean,Windows运行gradlew clean
    3. 回到项目根目录启动项目:npx react-native run-android

方案二:手动兼容(仅用于无法升级依赖的场景)

如果项目受兼容限制不能升级expo-application版本,可以手动修改配置兼容:

  1. 找到node_modules/expo-application/android/build.gradle文件
  2. 将文件头部的apply plugin: 'maven'替换为apply plugin: 'maven-publish'
  3. 找到文件中uploadArchives对应的maven配置块,替换为publishing规则:

原配置示例:

uploadArchives {
    repositories {
        mavenDeployer {
            pom.groupId = 'expo.modules.application'
            pom.artifactId = 'application'
            pom.version = '4.1.0'
        }
    }
}

替换后配置示例:

publishing {
    publications {
        maven(MavenPublication) {
            groupId = 'expo.modules.application'
            artifactId = 'application'
            version = '4.1.0'
            from components.release
        }
    }
}
  1. 清理gradle缓存重新构建即可。如果需要持久化该修改,可使用patch-package工具生成补丁包,避免重新安装依赖后修改失效。

内容的提问来源于stack exchange,提问作者Aditya Sonawane

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 07:45:02