npx react-native run-android 报错

来源:2-18 RN布局(2)

慕妹6709182

2022-06-08

图片描述
图片描述

写回答

1回答

今朝

2025-01-18

这个错误信息表明在构建 React Native Android 项目时,Gradle 无法解析依赖项,主要是因为使用了不安全的协议(HTTP)来访问 Maven 仓库。Gradle 7.x 版本默认禁止使用不安全的协议(如 HTTP)来访问仓库,除非显式允许。

解决方案

1. 修改 build.gradle 文件以允许不安全协议

你可以在项目的 build.gradle 文件中显式允许使用不安全的协议。找到 build.gradle 文件(通常在 android/build.gradle 或 android/app/build.gradle 中),并添加以下内容:

allprojects {
    repositories {
        maven {
            url "http://maven.aliyun.com/nexus/content/groups/public/"
            allowInsecureProtocol = true
        }
        // 其他仓库配置
    }
}


2. 将仓库 URL 改为 HTTPS

如果可能,建议将仓库 URL 从 HTTP 改为 HTTPS。例如:

allprojects {
    repositories {
        maven {
            url "https://maven.aliyun.com/nexus/content/groups/public/"
        }
        // 其他仓库配置
    }
}


3. 确保 Gradle 版本兼容

确保你使用的 Gradle 版本与 React Native 项目兼容。你可以在 android/gradle/wrapper/gradle-wrapper.properties 文件中检查 Gradle 版本:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip

如果你使用的是较新的 Gradle 版本,可能需要调整配置以兼容 React Native。

4. 清理和重新构建项目

清理项目并重新构建有时可以解决构建问题:

cd android
./gradlew clean
cd ..
npx react-native run-android

5. 检查网络连接

确保你的网络连接正常,能够访问 Maven 仓库。有时网络问题也会导致依赖项无法解析。

6. 使用本地 Gradle 缓存

如果你在构建过程中遇到网络问题,可以尝试使用本地 Gradle 缓存。你可以在 ~/.gradle 目录下找到缓存文件。

7. 检查环境变量

确保你的环境变量(如 ANDROID_HOME)正确配置。你可以在终端中运行以下命令来检查:

echo %ANDROID_HOME%

如果未设置,可以在系统环境变量中添加它们。


0
0

跨平台应用ReactNative+TypeScript仿喜马拉雅开发App

从入门到实战,掌握用TypeScript开发ReactNative应用

832 学习 · 339 问题

查看课程