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

Expo裸工作流React Native安卓应用启动失败求助

Expo裸工作流Android构建失败问题解决方案

针对执行npx expo run:android时出现的四类错误,分别给出对应解决方法:

1. Kotlin Gradle插件在:expo、:expo-modules-core子项目中重复加载

  • 打开项目android/build.gradle文件,在根级plugins块中统一声明Kotlin插件版本,设置apply false避免子项目重复加载:
    plugins {
        id 'com.android.application' version '7.4.2' apply false
        id 'com.android.library' version '7.4.2' apply false
        id 'org.jetbrains.kotlin.android' version '1.8.22' apply false
    }
    
  • 检查:expo和:expo-modules-core子项目的build.gradle,删除其中带版本号的Kotlin插件引入,只保留id 'org.jetbrains.kotlin.android'即可。

2. Task ':expo-constants:createDebugExpoConfig'未声明依赖导致执行优化被禁用

  • 执行以下命令清理缓存并重建依赖:
    # Windows
    gradlew.bat clean
    rmdir /s /q node_modules android/.gradle android/build
    npm install
    
    # macOS/Linux
    ./gradlew clean
    rm -rf node_modules android/.gradle android/build
    npm install
    
  • 确保expo-constants版本与项目中其他Expo模块版本一致,可在package.json中统一调整后重新安装。

3. Task ':expo-modules-core:buildCMakeDebug[armeabi-v7a]'失败(ninja manifest dirty错误)

  • 删除CMake构建缓存目录:
    # Windows
    rmdir /s /q android/app/.cxx
    
    # macOS/Linux
    rm -rf android/app/.cxx
    
  • 在android/build.gradle中指定兼容的CMake版本(根据React Native/Expo官方要求调整,示例为3.22.1):
    buildscript {
        ext {
            cmakeVersion = "3.22.1"
        }
    }
    
  • 临时关闭杀毒软件或实时文件监控工具,避免其锁定构建文件导致Ninja无法更新manifest。

4. java.lang.StackOverflowError错误

  • 打开android/gradle.properties,增大Gradle堆内存配置:
    org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    
  • 若调整内存后仍报错,重复执行前面的缓存清理步骤,确保没有残留的循环依赖配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 05:38:34