zoukankan      html  css  js  c++  java
  • Gradle环境搭建,与Gradlew区别

    最近,换了新项目,用起了Gradle。

    先说一下Gradle,Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。

    面向Java应用为主。当前其支持的语言限于Java、Groovy、Kotlin和Scala,计划未来将支持更多的语言。通俗的说,Gradle就是打包用的。

    可能有人说,那为什么要用Gradle打包呢,首先,打包的时候可能要修改一些东西,比如说配置文件中的一些账号和密码,你本地开发和正式环境运行时的内容肯定不一致,所以需要有两个文件,开发的时候用一个,正式环境的时候用一个。这样每次打包的时候都要重复的做这些事,每次打包都需要注意这些东西。Gradle可以把这些东西写成脚本自动运行,这是其一。其次,当我们搭建环境的时候,要用很多jar包,很多jar包之间都有依赖,为了方便引用并下载jar包,就可以用Gradle来配置了。其第一个功能类似Ant,第二个功能类似Maven,

    Gradle可以完美的结合这两个功能,即进行了配置,也完美的进行jar包的下载。

    接下来,我们来说说配置环境。

    搭建Gradle环境的步骤如下:

    1)进入Gradle官网https://gradle.org/下载软件包。

    2)解压到指定目录即完成安装。

    3)添加新环境变量GRADLE_HOME,值为你的安装目录,并为环境变量Path添加一项%GRADLE_HOME%in。

    4)命令行下运行gradle -version,检查安装和配置是否成功。

    如此简单,环境搭建完成。

    再说一下gradlew,我们在新建项目目录下使用cmd输入gradle wrapper。

    在目录下可以发现出现gradle新建的文件,其中gradlew.bat文件,就是windows上的可执行文件(但是不要双击哈,使用cmd中 gradlew命令执行)

    那gradlew和gradle有什么区别呢?

    gradle的版本会不断的更新,大家开发的时候经常会遇到版本不一致,而gradlew可以算是在gradle外面加了一层包装,当我们执行在上面执行gradle wrapper的时候,可以看到gradle-wrapper.properties文件中已经记录了我们当前使用gradle的版本信息。这时候我们执行gradlew命令的时候,会根据配置信息来使用对应版本的gradle来进行构建,不一致则会下载。这样可以保持gradle版本一致。

    最后,介绍一些gradlew的命令。

    gradlew -v 查看当前gradle,groovy,ant,jvm,os等版本信息

    gradlew build 检查依赖并编译打包

    gradlew build --info 编译并打印日志信息

    gradlew build --xtest 编译并不运行测试文件

    gradlew clean 清理工程目录下build文件夹

    gradlew tasks --all 查看所有任务

    gradlew clean build --refresh -dependencies 强制更新最新依赖,清楚并构建

    gradlew build --info --debug --stacktrace 调试模式并打印堆栈信息

    gradlew assembleDebug 编译并打Debug包(可用于开发环境)

    gradlew assembleRelease 编译并打Release包(可用于正式环境)

    gradlew installRelease Release模式打包并安装

    gradlew uninstallRelease 卸载Release模式包

    gradlew dependencies 依赖信息查看

    gradlew dependencies --info 查看详细的依赖信息

    大概以上这些,欢迎补充。

    PS:当依赖一个很大的第三方库,出现某个库错误的时候,又不知道是哪里的问题,可以用gradlew build --info --debug --stacktrace命令打印并排查堆栈信息。

     
    每天细微的变化,都将影响你的一生。
  • 相关阅读:
    Android Studio 2.3.1导出jar文件不能生成release解决办法
    AndroidStudio 3.0 生成jar包的方法
    Android Studio如何打jar包
    Android Studio 如何打JAR包(修订版)
    6款程序员必备的开源中文处理工具
    Qt5.8 下链接 Mysql 错误以及解决方法(无论 Mysql 是什么版本的,64 位 Qt 要用 64 位的 Mysql 驱动,32 位的 Qt 要用 32 位的Mysql 驱动)
    Go 语言如果按这样改进,能不能火过 Java?
    基于 CSP 的设计思想和 OOP 设计思想的异同
    DELPHI下多线程编程的几个思维误区(QDAC)
    如何使用表单
  • 原文地址:https://www.cnblogs.com/ftms/p/13558287.html
Copyright © 2011-2022 走看看