gradle学习笔记

author author     2022-08-14     119

关键词:

  近日学习使用AndroidStudio进行安卓方向的开发,对于其Gradle功能一直不太理解,经过资料查询,汇总在此以便记录。

  1.Gradle的来历及意义

  Gradle 是新一代的自动化构建工具,它是一个独立的项目,跟 AS、Android 无关。但Google 在推出 AS 的时候选中了 Gradle 作为构建工具,为了支持 Gradle 能在 AS 上使用,Google 做了个 AS 的插件叫 Android Gradle Plugin  ,所以我们能在 AS 上使用 Gradle 完全是因为这个插件的原因。

  在项目的根目录有个 build.gradle 文件,里面有这么一句代码: 

     classpath ‘com.android.tools.build:gradle:2.1.2‘ 

  这个就是依赖 gradle 插件的代码,后面的版本号代表的是 android gradle plugin 的版本,而不是 Gradle 的版本,这个是 Google 定的,跟 Gradle 官方没关系。

  2.Gradle对AS的作用

  新建一个项目,然后点击 AS 上的运行,默认就会直接帮你安装 Gradle ,我们不需要额外的安装 Gradle 了,但是其实这个 Gradle 不是真正的 Gradle ,他叫 Gradle Wrapper ,意为 Gradle 的包装。目的是为每个项目都配置了一个指定版本的 Gradle ,可以理解为每个 Android 项目本地都有一个小型的 Gradle ,通过这个每个项目你可以支持用不同的 Gradle 版本来构建项目。

  总而言之,Gradle方便在没有集成开发环境的条件下进行项目的编译打包。

  3.常用Gradle命令

   ./gradlew -v 版本号 

   ./gradlew clean 清除app目录下的build文件夹 

   ./gradlew build 检查依赖并编译打包 

   ./gradlew assembleDebug 编译并打Debug包 

   ./gradlew assembleRelease 编译并打Release的包

  4.AndroidStudio目录结构

     技术分享

  • app/build/ app模块build编译输出的目录
  • app/build.gradle app模块的gradle编译文件
  • app/app.iml app模块的配置文件
  • app/proguard-rules.pro app模块proguard文件
  • build.gradle 项目的gradle编译文件
  • settings.gradle 定义项目包含哪些模块
  • gradlew 编译脚本,可以在命令行执行打包
  • local.properties 配置SDK/NDK
  • MyApplication.iml 项目的配置文件
  • External Libraries 项目依赖的Lib, 编译时自动下载的

     技术分享

  • app/manifests AndroidManifest.xml配置文件目录
  • app/java 源码目录
  • app/res 资源文件目录
  • Gradle Scripts gradle编译相关的脚本

gradle学习笔记之groovy

Gradle是一个基于ApacheAnt和ApacheMaven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。Gradle的构建脚本build.gradle和setting.gradle都是可执行的Groovy脚本(不过它们不... 查看详情

gradle教程学习笔记(代码片段)

今天继续学习gradle的命令,首先可以用idea建立一个gradle的项目,然后会默认生成一段脚本,在这个脚本里面我引用了spring框架。首先来说一下具体的命令  -?,-h,--helpShowsthishelpmessage.-a,--no-rebuildDonotrebuildprojectdependencies.-b,--b... 查看详情

gradle教程学习笔记(代码片段)

...西其实也差不多原理的。废话不多说这个也只是我的一个学习笔记而已,gradle来说任何东西在gradle上都是两个基本的概念,项目和任务,grad 查看详情

gradle学习笔记(代码片段)

Gradle学习笔记阅读《AndroidGradle权威指南》一书。整理的笔记和在阅读过程中所遇到的问题汇总。由于在练习的过程中,书中没有给出源码的路径。所以我在码云上新建了一个仓库,供大家学习交流。码云仓库地址注意事... 查看详情

gradle笔记——构建基础

...oid项目中的Gradle配置文件,可是这篇基础真的非常重要。学习Gradle前,须要有一个Groovy语言的基础,以免被Groovy的语法困扰。反而忽略了Gradle的知识。这里有一个Groovy的简明中文教程文档,能够高速学习Groovy的一些语法:http://do... 查看详情

dagger2学习笔记

来自kotlin打造完整电商APP视频学习笔记如何依赖使用第一步在Project的build.gradle中添加dependenciesclasspath'com.neenbedankt.gradle.plugins:android-apt:1.8'//添加apt命令//NOTE:Donotplaceyourapplicationdependencieshere;theybelon 查看详情

springboot+kotlin+gradle+hibernate学习笔记(代码片段)

Hibernate将Java类映射到数据库表中,从Java数据类型中映射到SQL数据类型中,并把开发人员从95%的公共数据持续性编程工作中解放出来。是传统Java对象和数据库服务器之间的桥梁,用来处理基于O/R映射机制和模式的那些... 查看详情

springboot+kotlin+gradle+hibernate学习笔记(代码片段)

Hibernate将Java类映射到数据库表中,从Java数据类型中映射到SQL数据类型中,并把开发人员从95%的公共数据持续性编程工作中解放出来。是传统Java对象和数据库服务器之间的桥梁,用来处理基于O/R映射机制和模式的那些... 查看详情

springboot+kotlin+gradle+jooq的学习笔记(代码片段)

jOOQ,是一个ORM框架,利用其生成的Java代码和流畅的API,可以快速构建有类型约束的安全的SQL语句jOOQ使我们的重心可以放在业务逻辑上,而Java与SQL的基础交互部分,都可以交给jOOQ去处理。https://jooq.diamondfsd.com... 查看详情

androidgradle学习笔记环境安装(代码片段)

1.官网安装Gradle安装地址:Gradle|Installation最新的Gradle版本是7.6,需要Java8及以上的版本支持,官网有两种版本可下载:二进制版本完全版本(源码+文档)一般情况下,下载二进制版就OK了,文档... 查看详情

整合springboot+kotlin+gradle+jpa的demo学习笔记(代码片段)

jpa其实就是JavaPersistenceAPI的缩写。jpa的中文名字叫做Java持久层API,jpa是JDK5.0注解或者是XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA的宗旨是为POJO提供持久化标准规范,JPA的总体思想... 查看详情

整合springboot+kotlin+gradle+jpa的demo学习笔记(代码片段)

jpa其实就是JavaPersistenceAPI的缩写。jpa的中文名字叫做Java持久层API,jpa是JDK5.0注解或者是XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA的宗旨是为POJO提供持久化标准规范,JPA的总体思想... 查看详情

springboot+kotlin+gradle+jooq的学习笔记(代码片段)

jOOQ,是一个ORM框架,利用其生成的Java代码和流畅的API,可以快速构建有类型约束的安全的SQL语句jOOQ使我们的重心可以放在业务逻辑上,而Java与SQL的基础交互部分,都可以交给jOOQ去处理。https://jooq.diamondfsd.com... 查看详情

androidgradle学习笔记语言和命令(代码片段)

Gradle支持使用GroovyDSL或KotlinDSL来编写脚本。所以在学习具体怎么写脚本时,我们肯定会考虑到底是使用Kotlin来写还是Groovy来写。不一定说你是KotlinAndroid开发者就一定要用Kotlin来写Gradle,我们得判断哪种写法更适合项目、... 查看详情

androidgradle学习笔记概述(代码片段)

...Gant-IDEA官方的构建工具1.4Gradle-JVM集大成构建工具2.为什么学习Gradle?3.学习提纲参考1.JVM构建工具的发展1.1背景我们平时在IDE上写了很多代码,然后直接Shift+F10让它运行在了平台环境(Android、Wi 查看详情

android学习笔记-ui开发(代码片段)

P2工程结构介绍  project和module的区别:project仅仅是项目,手机上看不到,而module是手机上的app下载gradlegradle全局配置文件sdk位置local.properties引入的模块setting.gradle生成apksrc引入第三方库build.gradle资源虚拟机安装P3Tex... 查看详情

android笔记-自定义gradle插件(代码片段)

     这一节主要学习自定义Gradle插件,如果你想在多个项目中复用一系列Gradletasks,那么可以提取这些tasks到一个自定义插件中,使得重用构建逻辑,并且可以与团队其他人分享。插件即可以用Groovy编写,也可以... 查看详情

android笔记-自定义gradle插件(代码片段)

     这一节主要学习自定义Gradle插件,如果你想在多个项目中复用一系列Gradletasks,那么可以提取这些tasks到一个自定义插件中,使得重用构建逻辑,并且可以与团队其他人分享。插件即可以用Groovy编写,也可以... 查看详情