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

React Native 0.66运行yarn android报错找不到com.android.volley:volley:1.1.1

React Native 0.66 安卓构建问题解决方案

1. 依赖拉取失败(com.android.volley:volley:1.1.1 找不到)修复

不推荐全量引入jcenter,该源已停止维护,存在安全风险,建议使用以下更安全的方案:

  • 方案一:升级react-native-google-places到兼容RN 0.66的最新版本,新版依赖的Google Places SDK已适配主流maven源,无需额外配置jcenter
  • 方案二:修改根目录build.gradle,限定jcenter仅拉取volley依赖,避免其他包从jcenter拉取过期资源,配置如下:
allprojects {
    repositories {
        // 原有所有源保持不变
        mavenCentral()
        mavenLocal()
        maven {
            url("$rootDir/../node_modules/react-native/android")
        }
        maven {
            url("$rootDir/../node_modules/jsc-android/dist")
        }
        google()
        maven { url 'https://www.jitpack.io' }
        // 新增以下配置,仅从jcenter拉取volley
        jcenter {
            content {
                includeModule("com.android.volley", "volley")
            }
        }
    }
}

2. ENOENT 路径拼接错误修复

该报错是RN 0.66对应Metro版本的已知问题,Metro错误将HTTP请求地址拼接成本地文件路径,按以下步骤修复:

  • 第一步:清空所有缓存重新构建
# 重装依赖
rm -rf node_modules && yarn install
# 启动Metro时清空缓存
npx react-native start --reset-cache
# 清空安卓构建缓存
cd android && ./gradlew clean && cd ..
  • 第二步:检查android/app/src/main/AndroidManifest.xml的application标签,添加明文请求权限:
<application
  android:usesCleartextTraffic="true"
  <!-- 其他原有配置保持不变 -->
>
  • 第三步:若上述操作未生效,修改项目根目录metro.config.js(不存在则新建),添加路径重写配置:
module.exports = {
  transformer: {
    getTransformOptions: async () => ({
      transform: {
        experimentalImportSupport: false,
        inlineRequires: true,
      },
    }),
  },
  server: {
    rewriteRequestUrl: (url) => {
      if (url.startsWith('/http')) return url.slice(1)
      return url
    }
  }
};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:06:05