文章目录 一、Gradle 构建脚本结构 二、Gradle 脚本中定义闭包 三、Gradle 脚本中变量的定义与使用 四、dependencies 依赖设置 五、设置 android 脚本块 1、设置编译版本和编译工具版本...2、设置 defaultConfig 3、本章节完整脚本 六、应用设置和依赖库设置 1、应用设置 2、依赖库设置 3、执行配置 七、Gradle 核心构建脚本完整配置代码 在上一篇博客 【Android...Gradle 插件】组件化中的 Gradle 构建脚本实现 ① ( 组件化简介 | 创建组件化应用 | 依赖库模块 / 应用模块 切换设置 ) 最后提到了 在 Gradle 构建脚本中 , 需要实现...构建脚本中实现 AndroidManifest.xml 清单文件切换设置 ) 博客实现 使用 Gradle 脚本修改 AndroidManifest.xml 清单文件 ; 在 【Android Gradle...} 三、Gradle 脚本中变量的定义与使用 ---- 在 Android 的 Gradle 构建脚本中 , 尽量将用到的 变量 , 闭包 , 方法 定义在 Project 的扩展属性 中 , 这样可以在各个
文章目录 一、触发 Android Studio 工程构建 二、Gradle 构建脚本执行顺序 三、init.gradle 脚本路径 最近将 Android Studio 更新到了 Android Studio...触发 Android Studio 工程构建 ---- Android Studio 工程 就是一个 Gradle 工程 , 使用 Gradle 构建工具进行构建编译项目 , 编译时按照 Gradle...构建脚本进行工程构建 ; 使用下面的方法 , 可以 启动 Android Studio 工程构建 ; 触发 Android Studio 工程构建的方法 : 菜单栏选择 " Build / Build.../gradlew build 命令 ; 二、Gradle 构建脚本执行顺序 ---- 启动 Android Studio 工程构建之后 , 首先 , 执行 settings.gradle 构建脚本...脚本路径 ---- init.gradle 脚本作用 : init.gradle 构建脚本 的主要作用是 定义 全局的 Gradle 配置 , 所有的 Gradle 项目都要应用该配置 , 常见的用法如下
自 2020 年底,Android Gradle 插件 (AGP) 已经开始使用新的版本号规则,其版本号将与 Gradle 主要版本号保持一致,因此 AGP 4.2 之后的版本为 7.0 (目前最新的版本为...△ 配置缓存带来的性能提升 上图展示包含 24 个子项目的 Gradle 构建示例,这组构建使用了最新版本的 Kotlin、Gradle 和 Android Gradle 插件。...如示例中构建脚本的第 5 和第 11 行导致了这些问题。...关于 Gradle 配置缓存和如何迁移您的构建任务的更多信息,请参阅: Gradle 文档 深入探索 Android Gradle 插件的缓存配置 扩展 Android Gradle 插件 不少开发者都发现在自己的构建任务中...新版本的 Android Gradle 插件允许您为自定义插件编写额外的 DSL 内容,所以我们会用这种方式来编辑每个构建类型的额外 asset。
文章目录 一、使用路由实现组件间通信 二、抽取构建脚本 在上一篇博客 【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ① ( 组件化简介 | 创建组件化应用 | 依赖库模块.../ 应用模块 切换设置 ) 最后提到了 在 Gradle 构建脚本中 , 需要实现 依赖库模块 / 应用模块 切换设置 , 主要涉及如下两个方面 : build.gradle 构建脚本 切换设置 ,...切换 应用 / 依赖库 ; AndroidManifest.xml 清单文件 切换设置 , 设置 启动 Activity 项 ; 在 【Android Gradle 插件】组件化中的 Gradle 构建脚本实现...插件】组件化中的 Gradle 构建脚本实现 ③ ( 在 Gradle 构建脚本中实现 AndroidManifest.xml 清单文件切换设置 ) 博客实现 使用 Gradle 脚本修改 AndroidManifest.xml...---- 在应用中 , 可能存在几十个独立的依赖库模块 , 每个依赖库模块都需要进行 如下设置 , 这样做比较复杂 , 一旦修改要改几十个 build.gradle 构建脚本 ; /** * rootProject.projectDir
文章目录 一、settings.gradle 构建脚本分析 1、Maven 远程仓库配置 2、目录配置 3、完整代码示例 二、根目录下 build.gradle 构建脚本分析 一、settings.gradle...构建脚本分析 ---- 1、Maven 远程仓库配置 pluginManagement 脚本块 , 用于 配置 Gradle 插件的 Maven 仓库 , 配置的是 构建过程 中 , 使用的仓库 ;...参考之前的 【Android Gradle 插件】Android 依赖管理 ② ( 为工程配置依赖仓库 | 为工程构建添加依赖仓库 | classpath 引入依赖库 | 配置依赖仓库 ) 博客中的配置...构建脚本分析 ---- 根目录下 build.gradle 构建脚本如下 : // Top-level build file where you can add configuration options...表示当前不会马上引用该插件 , 在 Module 子项目 中使用到该插件时 , 才能正式应用 ; 在此处 主要是为了说明 Gradle 插件的版本 , 没有其它含义 ; 如 : 在 Module 子项目中
文章目录 一、Gradle 构建脚本编程语言 二、Groovy 语言简介 三、Groovy 语言特性 一、Gradle 构建脚本编程语言 ---- Gradle 构建工具 的 构建脚本 可以使用 Groovy...语言 或 Kotlin 语言 进行编写 , 使用 Groovy 语言编写的构建脚本是 build.gradle 构建脚本 ; 当前大量的 Android 应用 , 都是使用 Groovy 语言进行配置..., 因此老的项目维护时 , 需要用到该语言 ; 使用 Kotlin 语言编写的构建脚本是 build.kt 构建脚本 ; Kotlin 语言是一个趋势 , 之后肯定都会使用 Kotlin 进行配置 ;...; 脚本语言 : 可以 直接在 .groovy 源码中编写执行脚本 , 从头到尾执行 , 不需要定义类 ; 三、Groovy 语言特性 ---- Groovy 语言特性 : 支持静态类型 : 传统的变量类型不变...功能差不多 ; DSL ( Domain Specific Language , 领域特定语言 ) 语法特性 : Groovy 语言 和 Kotlin 语言都 支持 DSL 语法特性 , 这也是为什么 Gradle
构建脚本中实现 AndroidManifest.xml 清单文件切换设置 在上一篇博客 【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ① ( 组件化简介 | 创建组件化应用...| 依赖库模块 / 应用模块 切换设置 ) 最后提到了 在 Gradle 构建脚本中 , 需要实现 依赖库模块 / 应用模块 切换设置 , 主要涉及如下两个方面 : build.gradle 构建脚本...使用 Gradle 脚本修改 AndroidManifest.xml 清单文件 ; GitHub 地址 : https://github.com/han1202012/Componentization...构建脚本中实现 AndroidManifest.xml 清单文件切换设置 ---- 在 模块下 的 build.gradle 构建脚本 中的 " android#sourceSets#main " 层级下...是工程的根目录 * apply from 引入构建脚本的操作, 等同于将该构建脚本原封不动拷贝到此处 */ apply from: "${rootProject.rootDir}/common.gradle
文章目录 一、AspectJ 下载 二、拷贝 aspectjrt.jar 到 Android Studio 三、配置 Gradle 和 Gradle 插件版本 四、配置 Gradle 构建脚本 一、AspectJ...下载 ---- 首先 , 参考 【AOP 面向切面编程】AOP 简介 ( AspectJ 简介 | AspectJ 下载 ) 三、AspectJ 下载 博客 , 下载 AspectJ ; 下载地址为...拷贝到 D:\AspectJ 目录中 , 解压该文件 : 进入 D:\AspectJ\aspectj-1.8.10\lib 目录 , aspectjrt.jar 是 AspectJ 的核心 jar 包...\libs 目录中 , 其中 AOP_Demo 是 AS 工程根目录 ; 三、配置 Gradle 和 Gradle 插件版本 ---- 参考 【错误记录】Android Studio 配置 AspectJ...{ classpath "com.android.tools.build:gradle:3.6.1" } } 四、配置 Gradle 构建脚本 ---- 配置 AspectJ
Gradle的使用——第一个构建脚本 简介 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。...Gradle 构建脚本使用的是 Groovy 或 Kotlin 的特定领域语言来编写的,而不是传统的XML。...image.png 简述 之前我们进行学习了gradle是什么,下面我们开始第一个构建脚本。...} } 3、打开命令行,并进入test文件夹目录中,执行如下命令 D:\test>gradle -q hello 打印如下: image.png 至此,我们的第一个构建脚本完成,注意在gradle中-...q是表示一个日志级别 --quiet QUIET 及更高 本文声明: 本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
参考文档 : Android Studio 构建配置官方文档 : https://developer.android.google.cn/studio/build 添加构建依赖项 参考文档 :...: ① 初始化阶段 : 分析构建脚本 , 分析 Gradle 构建脚本 build.gradle , 生成构建脚本对应的 Settings 和 Project 类 ; ② 配置阶段 : 执行 初始化配置...Gradle 插件】自定义 Gradle 任务 ⑯ ( 从任务容器 TaskContainer 中搜索 Gradle 任务 | 压缩 packageDebug 任务输出文件 ) 中使用的 Project...#afterEvaluate 函数 就是在 ① 分析构建脚本 与 ② 执行 初始化配置 之间执行的方法 ; // 在 Gradle 分析完成后执行 // 也就是生成了一系列的自带 Gradle 任务之后执行...对应的是 Project#beforeEvaluate 函数 , 该函数是在 开始 进行 Gradle 分析构建脚本 之前 执行的 方法 , 函数原型如下 : public interface Project
文章目录 一、Module 模块 build.gradle 构建脚本示例 二、Gradle 二进制插件引入 三、Gradle 依赖配置 Android Plugin DSL Reference 参考文档.../build/dependencies 一、Module 模块 build.gradle 构建脚本示例 ---- plugins { id 'com.android.application'...; Gradle 二进制插件一般是在 jar 包中发布 , 引入方式为 apply plugin:'com.android.application' 或者 plugins { id 'com.android.application...插件 : Android 主应用插件 , android 扩展对应代码为 com.android.build.gradle.AppExtension 类 ; com.android.library 插件...在 Gradle 构建脚本中 , 可以直接调用 org.gradle.api.Project 中的方法 , 该类的文档如下 : org.gradle.api.Project 配置 ( build.gradle
、组件化简介 ---- 在 组件化专栏 中 , 详细介绍了组件化的实现 , 本系列博客继续对组件化中 Gradle 构建过程 进行优化 ; Android 应用常用架构 : 模块化 : 默认的 Android...网络访问 , 播放器 , UI 组件 等 ; 基础组件模块 : 依赖库模块 , 基础的工具类 , 依赖库 等 ; 特别注意 : 创建 依赖库模块 / 应用模块 互相切换的模块 , 建议创建时创建为 应用模块...Library " 类型的 Module 模块 , 作为 基础模块 ; 三、依赖库模块 / 应用模块 切换设置 ---- 在 Gradle 构建脚本中 , 需要实现如下两个功能 : build.gradle...构建脚本切换设置 AndroidManifest.xml 清单文件切换设置 1、build.gradle 构建脚本切换设置 应用模块 ( " Phone & Tablet " 类型的 Module 模块...applicationId "kim.hsl.componentization" } } 此时 , 再次 Sync 同步 Gradle 构建 , 该模块就会变为 依赖库模块 ( " Android
自定义配置 War 插件默认使用 GBK 编码做为代码编码。...当我们的代码中有中文字符,并且代码编码为非 GBK 编码时会报错编码GBK的不可映射字符此时我们需要自定义项目编译编码 “`groovy //设置编码 [compileJava, compileTestJava...].options.encoding = ‘UTF-8’ 约定的项目结构也许并不能满足我们项目的情景,我们可以通过自定义配置来使得 Gradle 不使用约定配置编译项目: 我们随意变更一下上一篇[使用Gradle...第一次构建Web应用](https://coderknock.com/blog/2017/03/13/%E4%BD%BF%E7%94%A8Gradle%E7%AC%AC%E4%B8%80%E6%AC%A1%...【编译结果与使用Gradle第一次构建Web应用相同】 相关代码
文章目录 一、资源文件编译 二、AndroidManifest.xml 清单文件编译 一、资源文件编译 ---- 参考 【Android 安装包优化】资源混淆 ( AAPT2 资源编译工具 | resources.arsc...清单文件编译的相关文件放在 " app\build\intermediates\merged_manifest " 和 " app\build\intermediates\merged_manifests " 目录中 ; 构建完整流程参考图
之前看过很多关于Android MVVM的博客,但大多数提到的都是DataBinding的基本用法,很少有文章仔细讲解在Android中是如何通过DataBinding去构建MVVM的应用框架的。...虽然目前Android开发中可能真正在使用MVVM的很少,但是值得我们去做一些探讨和调研。 如何构建MVVM应用框架 如何分工 构建MVVM框架首先要具体了解各个模块的分工。...总结和源码 本文主要讲解了一些个人开发过程中总结的Android MVVM构建思想,更多是理论上各个模块如何分工、代码如何设计。...虽然现在业界使用Android MVVM模式开发还比较少,但是随着DataBinding 1.0的发布,相信在Android MVVM 这一领域会更多的人来尝试。...MVVM Light Toolkit只是一个工具库,主要目的是更快捷方便地构建Android MVVM应用程序,在里面添加了一些控件额外属性和做了一些事件的封装,同时引进了全局消息通道Messenger
克尼汉评价他:牛顿说他是站在巨人的肩膀上,如今,我们都站在里奇的肩膀上 问题:需要用到一个jar包,使用gradle配置下载不下来就放在了本地,结果每次更新build.gradle的配置后都要从project...解决:在项目中创建与src同级的目录lib 在build.gradle文件中加入以下代码 repositories { flatDir { dirs 'lib' }
Gradle Web 插件 Gradle 提供了打包 war 包的插件,可以将 Web 应用部署到本地 Servlet 容器中。...使用 War 和 Jetty 插件 Gradle 对构建和运行 Web 应用提供了对应扩展的支持。 下面我们介绍 War 和 Jetty 插件。...War 插件扩展自 Java 插件,为 Web 应用部署和组装 War 包添加了约定和支持。...) 使用插件只需: apply plugin:'war' 对于项目本身,除了 Java 插件的约定外,还会应用 Web 应用文件,并打包项目为 WAR 文件而不是 JAR 文件。...所以在运行构建前我们需要添加外部依赖。我们为 War 插件引入两个依赖,Servlet 依赖使用到的是 providedCompile,它表示该依赖在编译时需要,但实际运行时由运行时的环境提供。
在MVVM模式中ViewModel和View是用绑定关系来实现的,所以有了DataBinding 使我们构建Android MVVM 应用程序成为可能。 ...应该如何设计?更是很少有博文来告诉你在Android 中如何通过Data Binding 去构建MVVM 的应用框架。这也就是是本篇文章的重点。...3、如何构建MVVM应用程序 1. 如何分工 构建MVVM框架首先要具体了解各个模块的分工,接下来我们来讲解View,ViewModel,Model 的它们各自的职责所在。...4、总结和源码### 本篇博文讲解主要是一些个人开发过程中总结的Android MVVM构建思想,更多是理论上各个模块如何分工,代码如何设计,虽然现在业界使用Android MVVM模式开发还比较少,但是随着...希望这篇博客在如何构建Android MVVM应用程序对你有所帮助,如有任何疑问,可以给我留言,欢迎大家共同探讨,如果对MVVM Light Toolkit 有任何问题,也可以反馈给我。
上次写过一篇使用Maven插件构建Docker镜像 ,讲述了通过docker-maven-plugin来构建docker镜像的方式,此种方式需要依赖自建的Registry镜像仓库。...本文将讲述另一种方式,使用Dockerfile来构建docker镜像,此种方式不需要依赖自建的镜像仓库,只需要应用的jar包和一个Dockerfile文件即可。...示例: # 在容器构建过程中需要在/目录下创建一个mall-tiny-docker-file.jar文件 RUN bash -c 'touch /mall-tiny-docker-file.jar' 使用...Dockerfile构建SpringBoot应用镜像 编写Dockerfile文件 # 该镜像需要依赖的基础镜像 FROM java:8 # 将当前目录下的jar包复制到docker容器的/目录下 ADD...ENTRYPOINT ["java", "-jar","/mall-tiny-docker-file.jar"] # 指定维护者的名字 MAINTAINER macrozheng 使用maven打包应用
文章目录 一、Gradle 软件包获取 1、官网下载 Gradle 软件包 2、在本地用户目录下查找 二、配置 Gradle 环境变量 一、Gradle 软件包获取 ---- 1、官网下载 Gradle...软件包 Gradle 官网 : https://gradle.org/ Gradle 下载地址 : https://gradle.org/releases/ 在下载页面可以直接下载 Gradle ,...可以选择下载 二进制文件 , 也可以下载 完整版 , 完整版包括 : 用户手册 API 文档 DSL 参考文档 Gradle 二进制包 与 完整包 区别 : 以 6.7.1 为例 ; 二进制包 :...只有二进制文件 ; 完整包 : 在二进制包基础上增加了 文档 , 源码 , 如果想要在 Gradle 插件开发中查看源码 , 必须下载完整包 ; 2、在本地用户目录下查找 如果之前使用 Android...\gradle-6.5-bin\6nifqtx7604sqp1q6g8wikw7p\gradle-6.5\bin " 目录为 Gradle 环境变量 ; 先设置 " GRADLE_HOME " 变量为
领取专属 10元无门槛券
手把手带您无忧上云