React Native Expo构建Android APK失败,请求技术帮助
解决Expo 49 Android APK构建失败问题
问题背景
使用Expo 49开发React Native应用,首次尝试生成Android APK用于测试:
- 手动执行
npx react-native bundle命令成功,但运行./gradlew assembleDebug失败 - 配置
eas.json后执行eas build -p android --profile preview,报错Gradle build failed with unknown error
解决步骤
1. 校验本地Android环境配置
确保你的Android开发环境符合Expo 49的要求:
- Android SDK版本:33
- Build Tools版本:33.0.2
- NDK版本:25.1.8937393
- 检查
android/local.properties文件是否正确指向SDK/NDK路径,示例:
sdk.dir=/Users/xxx/Library/Android/sdk ndk.dir=/Users/xxx/Library/Android/sdk/ndk/25.1.8937393
2. 清理本地构建缓存与依赖
执行以下命令彻底清理缓存,避免旧产物干扰:
# 进入android目录 cd android # 清理Gradle构建产物 ./gradlew clean rm -rf .gradle rm -rf app/build # 返回项目根目录清理Node依赖 cd .. rm -rf node_modules rm package-lock.json npm install
3. 重新生成Android项目文件
因为你使用了expo run:android,项目已转为bare workflow,先重新生成Android目录确保配置正确:
expo prebuild --platform android --clean
4. 先尝试本地Gradle构建
本地构建能更快定位问题,执行:
cd android ./gradlew assembleDebug
如果失败,查看终端输出的具体错误信息(比如资源重复、依赖冲突、签名配置问题等),常见的修复点:
- 删除
android/app/src/main/assets/index.android.bundle(手动bundle生成的文件可能和prebuild产物冲突) - 检查
android/app/build.gradle中的依赖版本是否与package.json一致
5. 修复EAS Build流程
- 确保EAS CLI为最新版本:
npm install -g eas-cli
- 本地构建成功后,再执行EAS Build:
eas build -p android --profile preview
6. 查看详细错误日志
如果EAS Build仍失败,登录Expo Dashboard找到对应构建任务,查看Run gradlew阶段的完整日志,里面会包含具体的错误原因(比如权限不足、依赖下载失败、签名配置缺失等)。
内容的提问来源于stack exchange,提问作者Tomas
相关产品推荐
相关产品推荐

