报错信息:
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),导致握手失败。
为了修复此问题,你可以尝试以下步骤:
- 使用不同的 TLS 协议版本
你可以尝试在 gradle.properties 文件中设置一个系统属性来允许 Gradle 使用其他版本的 TLS 协议。例如,将其设置为支持更旧的 TLS 协议版本:
systemProp.javax.net.ssl.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
- 更改 Gradle 仓库 URL 使用 HTTP
因为部分仓库地址是使用 HTTPS 连接导致的兼容性问题,你可以暂时将仓库 URL 改为 HTTP。
在你的 build.gradle 文件中,更改所有依赖的仓库 URL 以使用 http 而不是 https。例如:
repositories {
maven {
url "http://developer.huawei.com/repo/"
allowInsecureProtocol = true
}
}