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
相关产品推荐
相关产品推荐

