android studio 同时支持http和https

报错信息:

xml 复制代码
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'develop'.
> Could not resolve all files for configuration ':classpath'.
   > Could not download agcp-1.6.0.300.jar (com.huawei.agconnect:agcp:1.6.0.300)
      > Could not get resource 'https://developer.huawei.com/repo/com/huawei/agconnect/agcp/1.6.0.300/agcp-1.6.0.300.jar'.
         > Could not HEAD 'https://developer.huawei.com/repo/com/huawei/agconnect/agcp/1.6.0.300/agcp-1.6.0.300.jar'.
            > The server may not support the client's requested TLS protocol versions: (TLSv1.2, TLSv1.3). You may need to configure the client to allow other protocols to be used. See: https://docs.gradle.org/8.0.1/userguide/build_environment.html#gradle_system_properties
               > Remote host terminated the handshake

意思是华为这个库对于TLS protocol versions: (TLSv1.2, TLSv1.3)不支持。

这个问题是由于 Gradle 无法下载某些依赖项文件,这可能是因为服务器与客户端之间的 TLS 协议不兼容。问题出在 Android Studio 构建时尝试通过 HTTPS 下载某些文件,但由于协议版本问题(例如,服务器不支持 TLS 1.2 或 1.3),导致握手失败。

为了修复此问题,你可以尝试以下步骤:

  1. 使用不同的 TLS 协议版本
    你可以尝试在 gradle.properties 文件中设置一个系统属性来允许 Gradle 使用其他版本的 TLS 协议。例如,将其设置为支持更旧的 TLS 协议版本:

systemProp.javax.net.ssl.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3

  1. 更改 Gradle 仓库 URL 使用 HTTP
    因为部分仓库地址是使用 HTTPS 连接导致的兼容性问题,你可以暂时将仓库 URL 改为 HTTP。

在你的 build.gradle 文件中,更改所有依赖的仓库 URL 以使用 http 而不是 https。例如:

groovy 复制代码
repositories {
    maven {
        url "http://developer.huawei.com/repo/"
        allowInsecureProtocol = true
    }
}
相关推荐
洛菡夕4 小时前
nginx安全防护与HTTPS部署实战
nginx·安全·https
雷帝木木7 小时前
Flutter for OpenHarmony:Flutter 三方库 cbor 构建 IoT 设备的极致压缩防窃协议(基于标准二进制 JSON 表达格式)
网络·物联网·flutter·http·json·harmonyos·鸿蒙
ht巷子7 小时前
boost.asio网络学习:Http Server
网络·c++·http
深念Y11 小时前
Chrome MCP Server 配置失败全记录:一场历时数小时的“fetch failed”排查之旅
前端·自动化测试·chrome·http·ai·agent·mcp
小江的记录本12 小时前
【JWT】JWT(JSON Web Token)结构化知识体系(完整版)
前端·网络·web安全·http·网络安全·json·安全架构
阿拉斯攀登13 小时前
【RK3576 安卓 JNI/NDK 系列 02】保姆级环境搭建,从 0 到跑通第一个 JNI 程序
android studio·瑞芯微·嵌入式驱动·安卓驱动·安卓ndk环境搭建 jni入门
小江的记录本13 小时前
【会话:Cookie与Session】Cookie与Session的区别(附对比表)
java·数据库·后端·sql·http·https·安全架构
老虎062713 小时前
Spring mysql 网络接口( HTTP 方法与增删改查, Spring MVC Controller 接收参数的常用注解与参数传递方式)
mysql·spring·http
楼田莉子14 小时前
Linux网络:应用层HTTP网络协议
网络·c++·后端·网络协议·学习·http
huohuopro14 小时前
深入理解 HTTP 核心请求方法:GET、POST、PUT、DELETE、OPTIONS
网络·网络协议·http