gradle问题总结与理解(一篇文章带你理解android studio 与gradle 的关系)
前言:近日在网上找了个很不错的安卓二维码美化,由于下载的项目经常出问题,且不方便依赖使用,因此我想把它写个demo,并把源码发布到jcenter中,修改还是很顺利的,运行项目到手机也没问题,发布遇到了问题
1.运行gradle install ,提示:Minimum supported Gradle version is 4.6 Current version is4.1 这个错误,改了半天项目还是不行
首先是要弄懂gradle 与studio关系,请看这里 https://www.jianshu.com/p/f4b43fc3c33f
按照上边所述,改了还是不可以不过我得到了如下结论:
as 版本(即help下的About) 这个版本号就是项目的的build.gradle 中的3.2.1 这里一般要一致,一旦as升级,打开项目后这里就会升级到对应的版本号
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
}
上述讲的as 实际上可以理解为是gradle的一个插件,对gradle进行了封装,项目中有个gradle中的wrapper文件夹名字是就能体现出来,一旦插件版本升级,插件需要的环境版本不一样,那么就会下载
而当前插件需要的gradle 版本会在项目的gradle文件下 wrapper 的gradle-wrapper.properties中体现
如下:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
这里主要是描述了下载gardle 下载后解压位置,以及下载位置等
distributionUrl这里的4.6-all就是当前使用的gradle版本如果没有会联网下载,如果国内下载慢可以用其他方式下载下来后放到自己
C:/Users/用户/.gradle/wrapper/dists/ 下即可(这里是所有gradle 下载,或使用过的版本)
因为as 和gradlew 是有对应的,所以如果修改 build:gradle:3.2.1 的版本也需要修改,因为不一致会导致构建失败等问题
而android studio 各个版本对应gradle 版本百度会有人总结,但是可能不是最新的,因此官方的是最权威且最新的
国内地址如下 https://developer.android.google.cn/studio/releases/gradle-plugin
到此为止我们仅仅知道了as 与gradle 的关系那么下载更新后错误还在因此我们还需要找。
我们找到了as settings的 gradle的环境(如下图)这里之前显示的是4.1,因此感觉找到问题了;修改为4.6后,发现运行命令问题还是存在。
其实这里这配置的是告诉as 当前gradle运行环境路径,这里是我们点击运行、debug、打包等时候 as 使用的gradle版本的环境。
此刻忽然明白了原因,此时在运行命令行,gradle -v 发现果然返回的版本是4.1 而不是配置的最新的4.6
也就是说我们修改as gradle home是仅修改了as 运行环境的位置;
而命令行的配置环境是旧版本的4.1,到此刻为止问题根源彻底找到了
解决方案:
修改自己的系统环境的gradle版本的环境变量即可 到此为止问题彻底解决;可以发布了!!!
本次折腾彻底明白了as 与gradle 的关系;在此记录一下,时至今日as 用了两年了对其还是一知半解
还是自己太菜了。本文章目的是为了记录本次波折,防止其他同学像我一样折腾
博客让我们成长,让我们砥砺前行!记录自己的成长瞬间! 最后,感谢下文作者
https://www.jianshu.com/p/f4b43fc3c33f
gradle问题总结与理解(一篇文章带你理解android studio 与gradle 的关系)的更多相关文章
- MYSQL(进阶篇)——一篇文章带你深入掌握MYSQL
MYSQL(进阶篇)--一篇文章带你深入掌握MYSQL 我们在上篇文章中已经学习了MYSQL的基本语法和概念 在这篇文章中我们将讲解底层结构和一些新的语法帮助你更好的运用MYSQL 温馨提醒:该文章大 ...
- 一篇文章带你掌握主流基础框架——Spring
一篇文章带你掌握主流基础框架--Spring 这篇文章中我们将会介绍Spring的框架以及本体内容,包括核心容器,注解开发,AOP以及事务等内容 那么简单说明一下Spring的必要性: Spring技 ...
- 一篇文章助你理解Python3中字符串编码问题
前几天给大家介绍了unicode编码和utf-8编码的理论知识,以及Python2中字符串编码问题,没来得及上车的小伙伴们可以戳这篇文章:浅谈unicode编码和utf-8编码的关系和一篇文章助你理解 ...
- MYSQL(基本篇)——一篇文章带你走进MYSQL的奇妙世界
MYSQL(基本篇)--一篇文章带你走进MYSQL的奇妙世界 MYSQL算是我们程序员必不可少的一份求职工具了 无论在什么岗位,我们都可以看到应聘要求上所书写的"精通MYSQL等数据库及优化 ...
- 一篇文章带你掌握主流数据库框架——MyBatis
一篇文章带你掌握主流数据库框架--MyBatis MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射. 在之前的文章中我们学习了MYSQL和JDBC,但是这些东西远远不 ...
- 一篇文章带你掌握主流服务层框架——SpringMVC
一篇文章带你掌握主流服务层框架--SpringMVC 在之前的文章中我们已经学习了Spring的基本内容,SpringMVC隶属于Spring的一部分内容 但由于SpringMVC完全针对于服务层使用 ...
- 一篇文章带你掌握主流办公框架——SpringBoot
一篇文章带你掌握主流办公框架--SpringBoot 在之前的文章中我们已经学习了SSM的全部内容以及相关整合 SSM是Spring的产品,主要用来简化开发,但我们现在所介绍的这款框架--Spring ...
- 一篇文章带你掌握MyBatis简化框架——MyBatisPlus
一篇文章带你掌握MyBatis简化框架--MyBatisPlus 我们在前面的文章中已经学习了目前开发所需的主流框架 类似于我们所学习的SpringBoot框架用于简化Spring开发,我们的国人大大 ...
- 一篇文章带你了解网页框架——Vue简单入门
一篇文章带你了解网页框架--Vue简单入门 这篇文章将会介绍我们前端入门级别的框架--Vue的简单使用 如果你以后想从事后端程序员,又想要稍微了解前端框架知识,那么这篇文章或许可以给你带来帮助 温馨提 ...
随机推荐
- bzoj1968 约数研究
题意 令\(f(i)\)表示\(i\)的约数个数,求\(\Sigma^n_{i=1}f(i)\). 做法 我们直接算每个数的贡献,问题可以转化成每个数在\(1\)到\(n\)中有多少个倍数,累加答案. ...
- HDU3949:XOR——题解
http://acm.hdu.edu.cn/showproblem.php?pid=3949 求n个数的异或和第k小. 参考:https://blog.sengxian.com/algorithms/ ...
- BZOJ1011 [HNOI2008]遥远的行星 【奇技淫巧】
1011: [HNOI2008]遥远的行星 Time Limit: 10 Sec Memory Limit: 162 MBSec Special Judge Submit: 5058 Solve ...
- 牛客网 Wannafly挑战赛27 蓝魔法师
蓝魔法师 链接: https://www.nowcoder.com/acm/contest/215/C 来源:牛客网 题目描述 "你,你认错人了.我真的,真的不是食人魔."--蓝魔 ...
- 【BZOJ4889】[Tjoi2017]不勤劳的图书管理员 分块+树状数组
[BZOJ4889][Tjoi2017]不勤劳的图书管理员 题目描述 加里敦大学有个帝国图书馆,小豆是图书馆阅览室的一个书籍管理员.他的任务是把书排成有序的,所以无序的书让他产生厌烦,两本乱序的书会让 ...
- Nginx反向代理两个tomcat服务器
第一步,在Linux上安装两个tomcat,修改好端口号后,启动起来. 第二步,配置本地的DNS解析,即修改host文件: 第三步,配置Nginx配置文件 反向代理的配置虚拟主机配置差不多也要配置虚拟 ...
- POJ_2112_Optimal Milking 这里有超级快的网络流板子
Description FJ has moved his K (1 <= K <= 30) milking machines out into the cow pastures among ...
- hadoop压缩和解压
最近有一个hadoop集群上的备份需求.源文件有几百G,如果直接复制太占用磁盘空间.将文件从hadoop集群下载到本地,压缩之后再上传到hadoop则太耗时间.于是想到能否直接在HDFS文件系统上进行 ...
- opencv学习--透视变化
透视变换和仿射变换具有很大的相同特性,前面提到了放射变化,这里再次把它拿出和透视变换进行比较 #include"cv.h" #include"highgui.h" ...
- 【算法日记】2.算法中的大O符号
大O符号是一种算法复杂度的相对表示方式. 1.大O表示算法的操作数,表示出算法运行的快慢 2.大O表示法指出了最糟糕情况下的运行时间,例如 简单查找的运行时间O(n),意味着在最糟糕的情况下,必须运行 ...
