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

Windows下React Native+Expo项目打包遇两个构建失败问题求助

React Native Windows打包构建失败问题及解决方案

问题详情

错误1:expo-av构建报错

  • 报错位置:C:\Users\xujian\project\duxapp\node_modules\expo-av\android\build.gradle 第13行
  • 核心问题:评估项目:expo-av时出错,提示 非法字符<>位于索引98:C:\Users\xujian\project\duxapp\node_modules\react-native\ReactAndroid\build\intermediates\library_*\jni
  • 官方提示:可使用--stacktrace获取堆栈跟踪,--info/--debug查看更多日志,或--scan做完整分析

错误2:expo项目配置报错

  • 核心问题:配置项目:expo时出错,提示 未指定compileSdkVersion,请将其添加到build.gradle中

项目依赖版本

{
    "react-native": "^0.69.5",
    "expo": "~46.0.9",
    "expo-av": "~12.0.4",
    "expo-barcode-scanner": "~11.4.0",
    "expo-brightness": "~10.3.0",
    "expo-camera": "~12.3.0",
    "expo-file-system": "~14.1.0",
    "expo-image-picker": "~13.3.1",
    "expo-keep-awake": "~10.2.0",
    "expo-location": "~14.3.0",
    "expo-modules-core": "~0.11.4",
    "expo-permissions": "~13.2.0",
    "expo-sensors": "~11.4.0"
}

解决方案

针对错误1:路径通配符兼容问题

Windows系统不支持Gradle路径中间的*通配符写法,处理步骤:

  1. 打开node_modules\expo-av\android\build.gradle,找到第13行的路径配置
  2. 将含library_*\*\jni的路径替换为具体目录,比如原代码:
    fileTree(dir: "${reactNativeDir}/ReactAndroid/build/intermediates/library_*/jni", include: "**/*.so")
    
    修改为:
    fileTree(dir: "${reactNativeDir}/ReactAndroid/build/intermediates/library/release/jni", include: "**/*.so")
    
  3. 执行gradlew clean清理缓存,再重新打包

针对错误2:compileSdkVersion缺失问题

  1. 打开项目根目录下的android\build.gradle文件
  2. 在buildscript的ext块中添加明确的版本配置(expo 46建议用33):
    buildscript {
        ext {
            buildToolsVersion = "33.0.0"
            minSdkVersion = 21
            compileSdkVersion = 33
            targetSdkVersion = 33
        }
        // 其他原有代码
    }
    
  3. 检查android\app\build.gradle,确保引用了上述变量,无重复定义
  4. 执行gradlew clean后重新构建

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 16:27:23