zoukankan      html  css  js  c++  java
  • 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


     





  • 相关阅读:
    leetcode204-统计质数个数之一步步调试超时
    SpringBoot-注解一句话
    算法-总结规律
    kafka-版本变更相关
    异步线程池如何做同步业务
    es-快捷DSL检索手记
    并发学习第七篇——ThreadPoolExecutor
    kafka-consumer端的设计细节
    kafka-producer使用总结
    kafka-topic重要配置分析
  • 原文地址:https://www.cnblogs.com/lizhanqi/p/9815940.html
Copyright © 2011-2022 走看看