【AndroidStudio】2022.3Giraffe连接超时,更换下载源,使用本地gradle,版本对应问题

记录了使用AndroidStudio2022.3 Giraffe版本在搭建环境时遇到的问题,包括连接超时,gradle无法读取等。
如果只看如何正确的配置,直接跳转第3节 配置汇总

1 连接超时

项目一开始会自动下载gardle文件来加载项目
在这里插入图片描述

1.1 Connect timed out

基本上很快就会连接超时
在这里插入图片描述
于是试了给项目的settings.gradle加上下载源,但是未生效在这里插入图片描述
再次尝试修改模块的properties配置文件来指定下载源

源地址:https://mirrors.cloud.tencent.com/gradle/gradle-8.0-bin.zip

在这里插入图片描述
顺利成功
在这里插入图片描述
但是下载gradle编译太过于依赖网络,于是尝试下载gradle到本地,再使用本地gradle

2 使用本地gradle遇到的问题

尝试使用本地下载的gradle遇到的问题

下载gradle地址

2.1 Could not load wrapper properties from…

gradle默认下载目录在C:/Users/用户名/.gradle/wrapper/dists/,我尝试了将gradle文件自行下载到该目录下,然后修改gradle-wrapper.properties文件中关于下载的配置,重新Sync项目,但是报错Could not load wrapper properties from
在这里插入图片描述
这里为什么没有成功识别properties指定的本地目录的原因没找到,猜测可能是

  1. 下载的本地文件格式与需要的不一致,无法识别
  2. 其他配置文件优先级大于properties配置优先级
  3. 文件夹权限问题致使无法读取

2.2 Could not resolve com.android.tools.build:gradle:8.1.2

  • 排除文件夹读取权限问题
    我在E盘下新建了如图的gradles文件夹作为下载位置,下载的gradle文件还要进一步放在/wrapper/dists文件夹下
    在这里插入图片描述
  • 排除配置文件优先级问题
    在File > Settings > Build > BuildTools > Gradle下面修改Use Gradle From为自己下载的gradle,注意需要解压,另外把Gradle JDK改为了本地jdk8版本。
    在这里插入图片描述
    在这里插入图片描述
    gradle成功开始编译了
    在这里插入图片描述
    然后报错信息如下

A problem occurred configuring root project ‘My Application3’.
Could not resolve all files for configuration ‘:classpath’.
Could not resolve com.android.tools.build:gradle:8.1.2.
Required by:
project : > com.android.application:com.android.application.gradle.plugin:8.1.2
No matching variant of com.android.tools.build:gradle:8.1.2 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute ‘org.gradle.plugin.api-version’ with value ‘8.0’ but:
- Variant ‘apiElements’ capability com.android.tools.build:gradle:8.1.2 declares a library, packaged as a jar, and its dependencies declared externally:
- Incompatible because this component declares a component for use during compile-time, compatible with Java 11 and the consumer needed a component for use during runtime, compatible with Java 8
- Other compatible attribute:
- Doesn’t say anything about org.gradle.plugin.api-version (required ‘8.0’)
- Variant ‘javadocElements’ capability com.android.tools.build:gradle:8.1.2 declares a component for use during runtime, and its dependencies declared externally:
在这里插入图片描述

  • 错误尝试
    一开始我以为是gradle plugins版本的问题,gradle pluginsgradle是两个东西,类似于maven插件maven仓库
    在File > Project Structure > Project 设置中可以看到AGP与GV版本,根据描述AGP不能被直接修改,需要使用工具,但是可以点击这里自行输入一个版本
    在这里插入图片描述
    我一开始使用的是gradle 7.0.2版本,把AGP修改为了7.4.2版本,但是保存后仍未编译成功,另外这里AGP8.1.2版本对应gradle8.0是没问题的,所以不需改动
  • 正确尝试
    再次观察报错信息中有这一句

Incompatible because this component declares a component for use during compile-time, compatible with Java 11 and the consumer needed a component for use during runtime, compatible with Java 8

意思大概是gradle8.0版本应对应最低java11,而我设置使用本地java8
更改setting中JDK版本为AndroidStudio自行下载的jdk17
在这里插入图片描述
再次编译!成功
在这里插入图片描述

3 配置汇总

首先是连接超时关于下载镜像的更换

3.1 下载镜像源更换

源地址:https://mirrors.cloud.tencent.com/gradle/gradle-8.0-bin.zip

在这里插入图片描述
不想下载镜像源,想使用本地gradle

3.2 本地gradle下载

下载gradle地址
在E盘下新建了如图的gradles文件夹作为下载位置,下载的gradle文件还要进一步放在/wrapper/dists文件夹下,
在这里插入图片描述
在这里插入图片描述
另外,AGP插件使用本地gradle如果需要下载一些东西又可能连接超时,所以在本地gradle文件中创建一个配置文件,指定下载源
在这里插入图片描述
init.gradle文件内容:

allprojects {repositories { mavenLocal() maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" } maven { name "Bstek" ; url "https://nexus.bsdn.org/content/groups/public/" } mavenCentral()}buildscript {repositories { maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' } maven { name "Bstek" ; url 'https://nexus.bsdn.org/content/groups/public/' } maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }}}
}

3.3其他问题

  • 使用本地gradle时,要注意gradle plugins版本,可以自行查询两者版本对应关系
  • gradle版本和jdk版本有一定对应要求,例如gradle8.0必须使用jdk11以上(也有一说AndroidStudio Giraffe必须使用jdk17以上)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/433428.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vulnhub靶场DC-3

本机192.168.223.128 靶机192.168.223.139 目标发现nmap -sP 192.168.223.0/24 端口扫描nmap -p- 192.168.223.139 之开启了一个80端口 看一下是什么服务 nmap -sV -p- -A 192.168.223.139是一个apache服务,joomla模板 看一下web 没什么有用信息。 扫描一下后台…

高学历人士互相残害现象的深度剖析与教育体制反思

高学历人士互相残害现象的深度剖析与教育体制反思 In-Depth Analysis and Educational System Reflection on the Phenomenon of High-Educated Individuals Harming Each Other 在当今社会,随着教育水平的普遍提升,高学历人士之间的恶性事件时有发生&am…

【代码随想录15】110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之和

目录 110. 平衡二叉树题目描述参考代码 257. 二叉树的所有路径题目描述参考代码 404.左叶子之和题目描述参考代码 110. 平衡二叉树 题目描述 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树…

MIT_线性代数笔记:线性代数常用计算公式

目录 1.矩阵的加法和数乘2.矩阵的乘法3.转置 Transposes 相关运算 1.矩阵的加法和数乘 2.矩阵的乘法 1)标准方法(行乘以列) 矩阵乘法的标准计算方法是通过矩阵 A 第 i 行的行向量和矩阵 B 第 j 列的列向量点积得到 cij。即我们常说的点积,也…

【操作系统】调用硬盘并且实现MBR与Loader的过渡——原理篇

一.概述 前文(【操作系统】优化MBR程序:让MBR调用显存吧)中的MBR程序仅有512字节大小,完全不能将内核成功加载到内存并且运行,所以我们需要在另一个程序中完成初始化环境以及加载内核的任务,这个程序称之为…

pip 安装出现报错 SSLError(SSLError(“bad handshake

即使设置了清华源: pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simplepip 安装包不能配置清华源,出现报错: Retrying (Retry(total2, connectNone, readNone, redirectNone, statusNone)) after connection broken by ‘SSLE…

.NET中的matplotlib平替,ScottPlot简单使用

文章目录 前言解决方案Python调用.NET 原生解决 ScottPlot找到文章ScottPlot Nuget安装简单代码测试代码跑不了5.0新版本测试 总结 前言 我之前在学OpenCV 三语言开发的时候,遇到了一个问题,怎么可视化的显示数据。Python有matplotlib,那么C…

node.js漏洞总结

js开发的web应用和php/Java最大的区别就是js可以通过查看源代码的方式查看到编写的代码,但是php/Java的不能看到,也就是说js开发的web网页相当于可以进行白盒测试。 流行的js框架有: 1. AngularJS 2. React JS 3. Vue 4. jQuery 5. Backbone…

Python学习从0到1 day9 Python函数

苦难是花开的伏笔 ——24.1.25 函数 1.定义 函数:是组织好的,可重复使用的,用来实现特定功能的代码段 2.案例 在pycharm中完成一个案例需求:不使用内置函数len(),完成字符串长度的计算 #统计字…

Django项目搭建

一、创建项目 在命令行中执行代码 $ django-admin startproject mysitedjango-admin 为内部命令startproject 为参数mysite 项目名 备注 避免使用 Python 或 Django 的内部保留字来命名项目。比如说,避免使用像 django (会和 Django 自己产生冲突)或 test (会和 P…

随着新年的钟声响起,一部佳作崭露头角,令人眼前一亮。

♥ 为方便您进行讨论和分享,同时也为能带给您不一样的参与感。请您在阅读本文之前,点击一下“关注”,非常感谢您的支持! 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 在东北一个偏远的小县城澜河,发生了一起令人震惊的…

「 网络安全术语解读 」通用攻击模式枚举和分类CAPEC详解

引言:在网络安全领域,了解攻击者的行为和策略对于有效防御攻击至关重要。然而,攻击模式的描述和分类方式缺乏统一性和标准化。为了解决这个问题,MITRE公司创建了CAPEC标准,以提供一个共享和统一的攻击模式分类框架。 1…