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

执行任务':react-native-community_netinfo:compileReleaseJavaWithJavac'失败求助

Android构建失败问题排查

问题场景

执行eas build --platform all命令构建Android应用时失败,卡滞多日未解决。以下是部分构建日志,不确定前置警告是否与最终错误相关,寻求解决方案。

构建日志

/home/expo/workingdir/build/android/app/build/generated/assets/createBundleReleaseJsAndAssets/index.android.bundle:162507:99: 警告:函数"PluralResolver"中未声明变量"Intl"
...atibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRul...
^~~~
/home/expo/workingdir/build/android/app/build/generated/assets/createBundleReleaseJsAndAssets/index.android.bundle:164862:18: 警告:函数"hotpDigestToToken"中未声明变量"Buffer"
var digest = Buffer.from(hexDigest, 'hex');
^~~~~~
/home/expo/workingdir/build/android/app/build/generated/assets/createBundleReleaseJsAndAssets/index.android.bundle:168445:42: 警告:函数"equal 1#"中未声明变量"Element"
...f (hasElementType && a instanceof Element && b instanceof Element) return ...
^~~~~~~
FAILURE: 构建因异常失败。

  • 出错原因:
    任务':react-native-community_netinfo:compileReleaseJavaWithJavac'执行失败。

解决建议

优先处理核心编译错误(netinfo模块)

  • 版本兼容性检查:确认@react-native-community/netinfo版本与当前Expo/React Native版本匹配,参考官方文档调整版本号后重新构建
  • 清理构建缓存:本地执行./gradlew clean后再触发EAS构建,或在EAS构建配置中添加缓存清理步骤
  • 权限与配置检查:确保AndroidManifest.xml中添加了ACCESS_NETWORK_STATE权限,验证netinfo模块自动配置是否正常完成

处理日志中的警告(消除潜在风险)

  • Intl未声明:安装intl包,在项目入口文件(如App.js)中引入import 'intl'; import 'intl/locale-data/jsonp/zh-CN';(按需选择对应locale)
  • Buffer未声明:安装buffer包,在代码中显式引入import { Buffer } from 'buffer',或在metro.config.js中配置全局polyfill:
    module.exports = {
      resolver: {
        extraNodeModules: {
          buffer: require.resolve('buffer'),
        },
      },
    };
    
  • Element未声明:排查项目依赖,找出引入浏览器DOM API的代码,替换为React Native兼容实现,比如避免直接使用Element类型判断,改用React Native组件的类型检查逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 16:04:59