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的简单使用 如果你以后想从事后端程序员,又想要稍微了解前端框架知识,那么这篇文章或许可以给你带来帮助 温馨提 ...
随机推荐
- UDP发送的数据 以数据包形式发送
UDP发送的数据 以数据包形式发送
- HTML5 不再支持哪些元素
HTML5中已经不支持以下的元素,不建议在进行开发时再使用以下的元素. 1.acronym(建议abbr):定义首字母缩写 2.applet(建议object):定义applet 3.basefont ...
- git log 查看提交记录
git log 查看提交记录 1. git log 查看提交历史记录2. git log --oneline 或者 git log --pretty=oneline 以精简模式显示3. git log ...
- 优先队列实现 大小根堆 解决top k 问题
摘于:http://my.oschina.net/leejun2005/blog/135085 目录:[ - ] 1.认识 PriorityQueue 2.应用:求 Top K 大/小 的元素 3 ...
- POJ3621:Sightseeing Cows——题解
http://poj.org/problem?id=3621 全文翻译参自洛谷:https://www.luogu.org/problemnew/show/P2868 题目大意:一个有向图,每个点都有 ...
- BZOJ3932:[CQOI2015]任务查询系统——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=3932 题面源于洛谷 题目描述 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成 ...
- BZOJ4144 [AMPPZ2014]Petrol 【最短路 + 最小生成树】
题目链接 BZOJ4144 题解 这题好妙啊,,orz 假设我们在一个非加油站点,那么我们一定是从加油站过来的,我们剩余的油至少要减去这段距离 如果我们在一个非加油站点,如果我们到达不了任意加油站点, ...
- poj2409:Let it Bead(置换群 polya定理)
题目大意:长度为n的项链,要染m种颜色,可以通过旋转或翻转到达的状态视为同一种,问有多少种染色方案. 学了一波polya定理,发现很好理解啊,其实就是burnside定理的扩展. burnside定理 ...
- 剑桥offer(31~40)
31.题目描述 统计一个数字在排序数组中出现的次数. 思路:找到最低和最高,相减 class Solution { public: int GetNumberOfK(vector<int> ...
- 剑桥offer(21~30)
21.题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 还不 ...