【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指定的本地目录的原因没找到,猜测可能是
- 下载的本地文件格式与需要的不一致,无法识别
- 其他配置文件优先级大于properties配置优先级
- 文件夹权限问题致使无法读取
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 plugins
和gradle
是两个东西,类似于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以上)
相关文章:

【AndroidStudio】2022.3Giraffe连接超时,更换下载源,使用本地gradle,版本对应问题
记录了使用AndroidStudio2022.3 Giraffe版本在搭建环境时遇到的问题,包括连接超时,gradle无法读取等。 如果只看如何正确的配置,直接跳转第3节 配置汇总 1 连接超时 项目一开始会自动下载gardle文件来加载项目 1.1 Connect timed out 基…...

【Midjourney】内容展示风格关键词
1.几何排列(Geometric) "Geometric" 是一个与几何有关的词汇,通常用于描述与形状、结构或空间几何特征相关的事物。这个词可以涉及数学、艺术、工程、计算机图形学等多个领域。 使用该关键词后,图片中的内容会以平面图形拼接的方式展示&#…...

openssl3.2/test/certs - 056 - all DNS-like CNs allowed by CA1, no SANs
文章目录 openssl3.2/test/certs - 056 - all DNS-like CNs allowed by CA1, no SANs概述笔记END openssl3.2/test/certs - 056 - all DNS-like CNs allowed by CA1, no SANs 概述 openssl3.2 - 官方demo学习 - test - certs 笔记 /*! * \file D:\my_dev\my_local_git_prj\…...

mysql INSERT数据覆盖现有元素(若存在)
INSERT...ON DUPLICATE KEY UPDATE的使用 如果指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则会更新ON DUPLICATE KEY UPDATE关键字后面的字段值。 例如,如果列a被定义为UNIQUE࿰…...

攻防世界WEB新手训练区
view_source 此题我愿称之为网安领域的hello world 查看网页源代码的方式一般有—— 右键->查看网页源代码F12->源代码/来源Ctrlu 随后可以再代码第17行处找到flag,至此迈入网安第一步。可喜可贺,可喜可贺... get_post 考察http的两种请求方式&…...

Go语言安装及开发环境配置
目录 官网 国内 Linux(CentOS & Ubuntu)安装 环境变量设置 命令行下开发 开发模式执行 编译 IDE下开发 插件安装 安装依赖工具 运行 常见问题 1、dial tcp 172.217.160.113:443: i/o timeout 2、VS Code不能完美显示zsh问题 官网 访问Golang官网的下载链接&a…...

知识搜索术学习笔记
1 搜索引擎查询 1.1 推荐网站:Google 1.1.1 谷歌:对中英文支持都十分友好 中文搜索优于百度和Bing;...

【深度学习】sdxl中的 tokenizer tokenizer_2 区别
代码仓库: https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main 截图: 为什么有两个分词器 tokenizer 和 tokenizer_2? 在仔细阅读这些代码后,我们了解到 tokenizer_2 主要是用于 refiner 模型的。 #…...

使用一个定时器(timer_fd)管理多个定时事件
使用一个定时器(timer_fd)管理多个定时事件 使用 timerfd_xxx 系列函数可以很方便的与 select、poll、epoll 等IO复用函数相结合,实现基于事件的定时器功能。大体上有两种实现思路: 为每个定时事件创建一个 timer_fd,绑定对应的定时回调函数…...

C++:使用tinyXML生成矢量图svg
先说一下tinyXML库的配置: 很简单,去下面官网下载 TinyXML download | SourceForge.net 解压后是这样 直接将红框中的几个文件放到项目中即可使用 关于svg文件,SVG是基于XML的可扩展矢量图形,svg是xml文件,但是xml…...

day34_js
今日内容 0 复习昨日 1 事件 1.1 事件介绍 1.2 事件绑定方式 1.3 不同事件的演示 2 DOM操作 2.1 概述 2.2 查找元素 2.3 元素内容的查找和设置 2.4 元素属性的查找和设置 2.5 元素CSS样式的查找和设置 2.6 创建元素 2.7 创建文本节点 2.8 追加元素 2.9 删除元素 3 案例练习 0 复…...

AR 自回归模型
文章目录 总的代码ADF 检验(是否平稳)差分操作拟合AR 模型预测可视化总的代码 import pandas as pd import numpy as np import matplotlib.pyplot as plt from statsmodels.tsa.ar_model import AutoReg from statsmodels.tsa.stattools import adfuller# 生成一个示例时间序…...

51单片机ESP8266
一、MQTT透传AT固件 安信可提供的烧录WiFi固件工具: 链接: https://docs.ai-thinker.com/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B72 安信可提供的固件库链接: https://docs.ai-thinker.com/%E5%9B%BA%E4%BB%B6%E6%B1%87%E6%80%BB 经过测试,选择这个不可以…...

php 源码加密保护 bease方案
推荐使用 php-bease 这个免费开源方案。 有一说一,这个项目上次更新时间是2021年… 多好的项目呀。 作者说在 php5.1 ~ php7.2 上都测试过。 源码地址: C源码: https://github.com/liexusong/php-beast dll版: https://github…...

FFMPEG解析ts流
三篇相关联的文章: ffmpeg下HLS解析过程-CSDN博客TS文件格式详解及解封装过程-CSDN博客 FFMPEG解析ts流-CSDN博客 一、简介 关于TS格式解析,可以参考《TS文件格式详解及解封装过程-CSDN博客》,本文主要代码部分解读。建议大家熟读iso138…...

Java基础-实现猜数字小游戏
1. 实现控制台的猜数字游戏。游戏运行时产生一个1~100之间的随机数字; 2. 要求用户从控制台输入数字,若输入的数字比随机数小,则提示太小了;若输入的数字比随机数大,则提示太大了,若输入的数字与随机数相同…...

爬虫(一)
1. HTTP协议与WEB开发 1. 什么是请求头请求体,响应头响应体 2. URL地址包括什么 3. get请求和post请求到底是什么 4. Content-Type是什么1.1 简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(…...

【软件测试】学习笔记-Nginx 在系统架构中的作用
本篇文章你探讨 Nginx 在应用架构中的作用,并从性能测试角度看如何利用 Nginx 数据统计用户访问量。 Nginx 重要的两个概念 代理 首先要来解释一下什么是代理,正向代理和反向代理是什么意思?各自作用是什么?不少同学经常听到这…...

鸿蒙开发【应用开发基础知识】
应用开发介绍 1. 项目说明 通过OpenHarmony提供的Stage模型和ArkUI的eTS声明式开发规范,结合简单的Demo,分享学习OpenHarmony/docs/application-dev[应用开发文档] 2. 主要功能 目录标题展示,目录列表展示点击目录列表,查看列…...

腾讯云幻兽帕鲁4核16G14M服务器性能测评和价格
腾讯云幻兽帕鲁服务器4核16G14M配置,14M公网带宽,限制2500GB月流量,系统盘为220GB SSD盘,优惠价格66元1个月,277元3个月,支持4到8个玩家畅玩,地域可选择上海/北京/成都/南京/广州,腾…...

Linux第一个小程序——进度条
目录 回车和换行 缓冲区 设计倒计时 进度条(多文件操作) Version1:进度条 Version2:应用场景进度条 Version3:升级彩色进度条 回车和换行 回车\r:r 回车,回到当前行的行首,而…...

(N-141)基于springboot,vue网上拍卖平台
开发工具:IDEA 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 系统分前后台,项目采用前后端分离 前端技术:vueelementUI 服务端技术:springbootmybatis-plusredi…...

深入了解Figure的结构与层次
深入了解Figure的结构与层次 一 Matplotlib中的Figure1.1 Figure的概念和作用:1.2.创建Figure对象:1.3 Figure的属性和方法: 二 子图(Axes)的角色与创建2.1 子图(Axes)的概念:2.2 创建子图的方法:2.3 Axes的…...

c语言基础6
1.逗号表达式 逗号表达式,就是用逗号隔开的多个表达式。 逗号表达式,从左向右依次执行。整个表达式的结果是最后⼀个表达式的结果。 我们来看下面的一个代码: int main() {int a 1;int b 2;int ret (a > b, a b 2, b, b a 1);p…...

kotlin sum 与 sumOf
kotlin 中 sum 的作用: 计算一个列表里面数字的总和: val numbers listOf(1, 2, 3, 4, 5) val sum numbers.sum() println("The sum is: $sum") // 打印结果: The sum is: 15 kotlin中sumOf的作用: 也是计算一个列表里面数字…...

php怎么输入一个变量,http常用的两种请求方式getpost(ctf基础)
php是网页脚本语言,网页一般支持两种提交变量的方式,即get和post get方式传参 直接在网页URL的后面写上【?a1027】,如果有多个参数则用&符号连接, 如【?a10&b27】 post方式传参 需要借助插件,ctfer必备插…...

Spring Boot 项目配置文件
文章目录 配置文件的作用properties基本语法读取文件信息缺点 yml基本语法优点配置不同数据类型字符串类型的写法 配置对象配置集合 读取配置文件的几种方法EnvironmentPropertySource使用原生方式读取 设置不同环境的配置文件 配置文件的作用 整个项目中重要的数据都是在配置…...

学校“数据结构”课程Project—扩展功能(自主设计)
目录 一、设想功能描述 想法缘起 目标功能 二、问题抽象 三、算法设计和优化 1. 易想的朴素搜索 / dp 搜索想法 动态规划(dp)想法 2. 思考与优化 四、算法实现 五、结果示例 附:使用的地图API 一、设想功能描述 想法缘起 OSM 导出…...

从0开始搭建若依微服务项目 RuoYi-Cloud(保姆式教程 一)
掌握陌生项目解读技巧 掌握若依(RuoYi-Cloud)框架 掌握SpringCloud Alibaba体系项目开发套路,结合我之前所有企业项目来学习就知道有多么简单。 一、框架介绍 1. 简介 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空…...

【Chrome】浏览器怎么清除缓存并强制刷新
文章目录 1、正常刷新:正常刷新网页,网页有缓存则采用缓存。 F5 或 刷新键2、强制刷新:忽略缓存刷新,重新下载资源不用缓存。 CtrlF5 或 ShiftF5 或 CtrlShiftR3、在浏览器的设置里面清除所有数据...