首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Gradle 手记|记录我使用过的 build 基本配置(不断更新中。。。

真的要细说 Gradle,恐怕目前能力还是有限,仅仅了解皮毛,简单分享,欢迎交流~ 一、Gradle 基本配置 --- 其实这块更应该成为封装项目的 basic build 配置,以便于后续的 module...buildToolsVersion Versions.buildTools // 指定 Android 插件适用于所有构建版本的版本属性的默认值 defaultConfig {...module 均可使用 */ dependencies { // ... } 二、buildConfigField 使用 --- 在构建时,Gradle 将生成 BuildConfig 类,以便应用代码可以检查与当前构建有关的信息...针对我之前这种法子做个小小升级,在原有 gradle 文件中添加如下内容: android { // 封装项目的所有构建类型配置 buildTypes { debug {...个人还是建议巧用 README,记录项目常用的一些东西,方便之后的小伙伴快速上手~ 这里附上一张我之前项目的事例,也是在尝试,欢迎提供更好建议~ 在这里我截个之前负责的项目记录的 README 做个抛砖引玉吧

1.3K30

简单说说 Android Studio3.0的更新

再说一次,如果只是要体验 IDE 的新特性,为了不折腾,先不要着急升级 gradle 插件。 为什么说这个?因为我看到群里面有小伙伴升级了之后说报了一堆错,没办法只好回去用 2.3 了。额。。...我能说我一直都同一个工程 2.3 和 3.0 的 IDE 切来切去么?只要你不升级 gradle 插件,你原有的工程配置根本不会有什么毛病。 2....构建插件的升级 就像前面说的,大家遇到了构建报错,其实主要是构建插件升级导致的,请再次注意这个插件是 gradle 插件。 No pain, No gain....这次更新,对于构建依赖图的配置要求更新详细了,这样做的好处就是避免了很多无用的构建,也正是这样,可以想象对于一些巨无霸的项目,构建速度会有多么显著的提升。...那么这次插件升级对于使用了自定义构建的工程可能影响会比较大,例如我们之前自定义过构建流程,甚至 hack 过 aapt,随着这次插件的升级,构建工具也有了较为显著的革新,那么惨了,我们这些工具在升级新版本之前都要做验证和同步更新

45720
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    工具 | Android Studio 2.3镜像更新,极速下载体验#2

    Android Studio 2.3发布了,更新了很多不错的功能,比如WebP的支持,AppLink助手等,,因为众所周知的原因,所以就第一时间更新了镜像,让大家可以第一时间体验Android Studo...2.3最新版之后,因为使用的是Gradle3.3的构建,所以需要重新下载Gradle3.3,官方地址因为被墙,所以会下载不了,一直不动,这时候需要使用本网站提供的Gradle镜像,具体配置可以参考下面的...这是一个包含2.0以后所有版本的Gradle镜像,便于在Gradle构建的时候下载Gradle,如果从官网下载,那构建时间是个噩梦,目前最新版是3.4.1 所有Gradle版本下载地址 http://.../gradle/gradle-3.4.1-bin.zip 使用Gradle Wrapper构建的时候,把properties文件里的Gradle地址换成镜像的即可,版本号保持官方的命名风格,修改成其他版本号...,如果没有你想要的,可以留言提供地址,我可以加入,如果喜欢,点个赞,感谢大家的支持。

    54730

    【转载】解决refreshing gradle project 和Building gradle project info 一直卡住速度慢

    转载:  http://blog.csdn.net/xx326664162/article/details/52002616 文章出自:薛瑄的博客 分析原因: 更改Gradle的版本后,或者更新AS后,...你可能会有疑问,为什么有时候更新AS需要再下载Gradle,为什么不用已经下载好的Gradle?请查看这篇博客 主要原因是下载gradle的时候,网速过慢。...而是使用指定的gradle 解决办法: 找到了原因,解决办法就显然已经了。下面我提供两种方法。...第二种:使用AS自带的Gradle 注意:这个方法,我在升级AS(2.2.3->2.3)的时候,升级后发现Gradle的版本是gradle-3.2,但是2.3版本的AS支持gradle的最低版本是3.3...而是使用指定的gradle 理论上Gradle 的版本越新构建运行越快,也只是理论上,所以推荐稳定版的版本。

    82770

    【转载】解决refreshing gradle project 和Building gradle project info 一直卡住速度慢

    转载:  http://blog.csdn.net/xx326664162/article/details/52002616 文章出自:薛瑄的博客 分析原因: 更改Gradle的版本后,或者更新AS后,...你可能会有疑问,为什么有时候更新AS需要再下载Gradle,为什么不用已经下载好的Gradle?请查看这篇博客 主要原因是下载gradle的时候,网速过慢。...而是使用指定的gradle 解决办法: 找到了原因,解决办法就显然已经了。下面我提供两种方法。...第二种:使用AS自带的Gradle 注意:这个方法,我在升级AS(2.2.3->2.3)的时候,升级后发现Gradle的版本是gradle-3.2,但是2.3版本的AS支持gradle的最低版本是3.3...而是使用指定的gradle 理论上Gradle 的版本越新构建运行越快,也只是理论上,所以推荐稳定版的版本。

    1.7K30

    【Android Gradle 插件】Gradle 依赖管理 ⑤ ( dependencies 依赖项拆分 | 依赖组 | 依赖名称 | 依赖版本号 | 动态指定依赖版本号 | 使用命令行查看模块 )

    | 依赖版本 ) 二、dependencies 动态指定依赖版本号 三、使用命令行查看模块依赖 Android Plugin DSL Reference 参考文档 : Android Studio 构建配置官方文档...: https://developer.android.google.cn/studio/build 添加构建依赖项 参考文档 : https://developer.android.google.cn.../api/artifacts/dsl/DependencyHandler.html 添加构建依赖项 参考文档 : https://developer.android.google.cn/studio..., 可能有不同的表现 , 如果后期依赖库更新 , 可能导致之前的版本无法使用 ; 如果在 dependencies 配置了多个相同的依赖 , 那么会使用最高版本的依赖 ; dependencies {...app Module 模块的依赖项 ;

    1.9K10

    优化Android StudioGradle构建

    优化Android Studio/Gradle构建        使用Android Studio进行开,随着项目的增大,依赖库的增多,构建速度越来越慢,现在最慢要6分钟才能build一个release...实测速度快50%左右 原理不明 回头写个脚本 build完成再自动安装运行应该就好了 我觉得TMD还是把公司的破电脑扔了换个新的才能从根本上解决问题 来源: 的配置和上面的一大段一样,主要是在这个地方配置的只会在ide构建的时候生效,命令行构建不会生效。 ? ?...后记 经过这样一番折腾,我原来需要4,5分钟才能构建完成的项目,现在只需要30秒左右就可以构建完成了。当然了,如果你这样还是不可以的话,那么,你应该换电脑了,ssd的硬盘,更大的内存,必须的上了。...tid=11 本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-03/115241.htm

    1.1K90

    Gradle 构建工具 #5 又冲突了!如何理解依赖冲突与版本决议?

    前言 大家好,我是小彭。 在前文 Gradle 构建工具 #3 Maven 发布插件使用攻略(以 Nexus / Jitpack 为例) 和 Gradle 构建工具 #4 来开源吧!...2.1 什么是依赖传递(What) 2.2 什么是依赖冲突(What) 2.3 如何查看依赖版本冲突(How) 3、Gradle 依赖版本决议 3.1 对比 Maven 和 Gradle 的解析策略(What...(如 2.+⇒2.3 只有在构建时才能确定)。...因为 A 模块本地仓库中已经下载了 B 模块的 1.0.0 版本,所以构建时不会重复去下载远程仓库中更新的版本。...Gradle 最高版本策略 Gradle 构建系统会采用最高版本策略,构建系统会选择依赖关系图中满足约束规则的最高版本。

    74830

    Android Studio3.0更新之路(遇坑必入)

    ,后来LZ把2.3版本的给删了,缓存给清除了,然后就变成这个错了。...第一眼看这个错的时候我以为我setting.gradle中没有依赖appCommon,看完之后明明确实依赖了,而且这是一个老项目,在AS2.3版本的时候很正常,然后我就知道这又是一个坑,无奈的又去上了一把...gradle中好像有这么个节点,抱着试一试的态度我删了那个节点,然后,卧槽卧槽卧槽,可以成功编译了,这是不是有一种躺着过坑的赶脚。...我们可以看到,谷歌爸爸把buildToolsVersion构建工具的版本给“干掉了”,在以前的版本中,buildToolsVersion也会给项目的构建带来很多错,现在谷歌爸爸把它给“干掉了”;还有就是下面的依赖换成了...最后需要注意的是开启这个之后会降低应用程序的构建速度,因此只有在你要开始对应用程序进行概要分析时,再启用它。

    71440

    【Android Gradle 插件】自定义 Gradle 插件模块 ③ ( Gradle 插件模块发布配置 | Windows 本地 Maven 仓库地址 | 将插件上传到本地 Maven 仓库 )

    : Android Studio 构建配置官方文档 : https://developer.android.google.cn/studio/build 添加构建依赖项 参考文档 : https...文档 ( 可设置 Gradle 构建声明周期监听器 ) : https://docs.gradle.org/current/javadoc/org/gradle/api/invocation/Gradle.html...| 引入自定义 Gradle 插件模块 | 配置 Gradle 插件上传选项 | 配置分组名称版本号 ) 中 , 定义完插件后 , 在 自定义 Gradle 插件模块 的 build.gradle 构建脚本中...} } 首次编译执行 , 可以在 自定义 Gradle 插件的 Module 模块 下 , 看到 publishing 分组的 Gradle 任务 , 如下图红色矩形框中的内容 ; generatePomFileForPluginPublication...; 在我的电脑上 , 实际的目录为 " C:\Users\octop.m2\repository " , 用户名是 octop ; 三、将插件上传到本地 Maven 仓库 ---- 执行 Gradle

    96610

    【Android Gradle 插件】Gradle 自定义 Plugin 插件 ④ ( 为自定义 Gradle 插件的扩展配置扩展 | 在自定义插件中获取扩展属性 )

    文章目录 一、Android Gradle 插件扩展的扩展 二、为自定义 Gradle 插件的扩展配置扩展 并 获取扩展属性 Android Plugin DSL Reference 参考文档 : Android...Studio 构建配置官方文档 : https://developer.android.google.cn/studio/build 添加构建依赖项 参考文档 : https://developer.android.google.cn...文档 ( 可设置 Gradle 构建声明周期监听器 ) : https://docs.gradle.org/current/javadoc/org/gradle/api/invocation/Gradle.html...的 扩展 Extension , 在 Module 模块下的 build.gradle 构建脚本中 , android 配置块 就是一个 AppExtension 扩展 , 但是在 android 扩展下又定义了...} 声明扩展 和 扩展的扩展 : 通过调用 project.扩展名.扩展属性 可获取在构建脚本中配置的 扩展属性 , 通过调用 project.扩展名.扩展的扩展名.扩展属性 可获取在构建脚本中配置的

    2K10

    【Android Gradle 插件】Gradle 构建生命周期 ① ( 分析构建脚本 | 执行初始化配置 | 执行 Gradle 任务 | Project#beforeEvaluate 函数 )

    参考文档 : Android Studio 构建配置官方文档 : https://developer.android.google.cn/studio/build 添加构建依赖项 参考文档 :...: ① 初始化阶段 : 分析构建脚本 , 分析 Gradle 构建脚本 build.gradle , 生成构建脚本对应的 Settings 和 Project 类 ; ② 配置阶段 : 执行 初始化配置...; ③ 运行阶段 : 执行 Gradle 任务 ; 二、Project#afterEvaluate 函数 ---- Gradle 构建声明周期 是可以进行 Hook 的 , 在上一篇博客 【Android...#afterEvaluate 函数 就是在 ① 分析构建脚本 与 ② 执行 初始化配置 之间执行的方法 ; // 在 Gradle 分析完成后执行 // 也就是生成了一系列的自带 Gradle 任务之后执行...对应的是 Project#beforeEvaluate 函数 , 该函数是在 开始 进行 Gradle 分析构建脚本 之前 执行的 方法 , 函数原型如下 : public interface Project

    51020

    【Android Gradle 插件】Gradle 构建生命周期 ③ ( BuildListener 构建监听器 | TaskExecutionGraphListener 任务执行图监听器 )

    Android Studio 构建配置官方文档 : https://developer.android.google.cn/studio/build 添加构建依赖项 参考文档 : https:/.../tasks/testing/Test.html LibraryExtension ( Library 依赖库的 build.gradle#android 配置 ) 文档 : android-gradle-dsl...文档 ( 可设置 Gradle 构建声明周期监听器 ) : https://docs.gradle.org/current/javadoc/org/gradle/api/invocation/Gradle.html...(BuildResult buildResult) { // 构建完成时回调的函数 } }) 二、TaskExecutionGraphListener 任务执行图监听器 ----...代码示例 : 调用 TaskExecutionGraph 任务执行图的 List getAllTasks(); 函数 , 可以获取到所有的 Gradle 任务 ; // Gradle 任务执行图监听器

    44010

    【Android Gradle 插件】Gradle 自定义 Plugin 插件 ⑦ ( 自定义 Gradle 插件导入方式 | buildSrc 插件导入 | 构建脚本中自定义插件 | 独立文件 )

    文章目录 一、在 buildSrc 模块中定义 Gradle 插件 二、在 build.gradle 构建脚本中自定义 Gradle 插件 三、在其它 gradle 脚本中字定义 Gradle 插件 Android...libs 目录下会生成 buildSrc.jar 包 , 在 Module 模块下的 build.gradle 构建脚本中 , 通过 apply plugin: MyPlugin 代码 , 导入插件..., 就是将上述编译生成的 buildSrc.jar 包依赖 , 引入到该 Module 模块的 Gradle 编译过程中 ; 该 自定义 Gradle 插件可以在当前工程中的所有 Module 子模块都可以使用...插件 ---- 在 build.gradle 构建脚本中 , 也可以创建自定义 Gradle 插件 , 并调用该插件中的方法 ; // 在 build.gradle 中定义 Gradle 插件 class...中定义的 MyPlugin3 插件 apply plugin: MyPlugin3 在 build.gradle 构建脚本中 , 引入 plugin.gradle 文件 , 该操作相当于将 plugin.gradle

    1.3K10

    【Android Gradle 插件】自定义 Gradle 插件模块 ① ( 在 Module 模块中自定义 Gradle 插件 | 创建自定义插件类型模块 | 手动导入相关依赖 )

    文档 ( 可设置 Gradle 构建声明周期监听器 ) : https://docs.gradle.org/current/javadoc/org/gradle/api/invocation/Gradle.html..., 并在 build.gradle 构建脚本 中导入插件的代码 ; Android Gradle 插件 也是一种 自定义的 Gradle 插件 , 该插件被上传到 jcenter / google /...mavenCentral 远程仓库 中进行存储 , 在 Android Studio 工程的根目录中的 build.gradle 构建脚本中 , 通过如下方式将 自定义插件 引入 Android 工程...; 三、手动导入相关依赖 ( Java | Groovy | Gradle ) ---- 在 buildSrc 目录 下 , 会自动引入 Java / Groovy / Gradle 的依赖 , 但是在自己创建的...Java Library 类型的依赖库 中 , 需要将其 手动引入 , 在 该 Module 模块的 build.gradle 构建脚本中引入上述依赖 ; plugins { id 'java-library

    2.2K30

    【Android Gradle 插件】Gradle 构建生命周期 ② ( Gradle 类的添加构建生命周期监听器函数 | Gradle#addListener 函数 )

    可以监听到 Gradle 构建生命周期 中的分析过程 , 可以 在 分析之前回调监听器中的 ProjectEvaluationListener#beforeEvaluate 函数 , 在 分析之后会调监听器中的...#addBuildListener 函数 ---- 在 org.gradle.api.invocation.Gradle 中 , 还定义了Gradle#addBuildListener 函数 , 用于添加监听构建过程的监听器...侦听器会收到在执行生成期间发生的事件的通知。 Parameters: buildListener - 要添加的监听器....) { // 构建完成时回调的函数 } }) 三、Gradle#addListener 函数 ---- Gradle#addListener 函数 , 用于添加 任何类型的监听器...它们的用法已被弃用,在未来的Gradle版本中添加这些类型的侦听器将成为一个错误: TaskExecutionListener TaskActionListener TestListener TestOutputListener

    70630

    【Android Gradle 插件】自定义 Gradle 插件模块 ② ( 在模块中定义插件 | 引入自定义 Gradle 插件模块 | 配置 Gradle 插件上传选项 | 配置分组名称版本号 )

    插件版本号 五、自定义 Gradle 插件的完整 build.gradle 构建脚本 Android Plugin DSL Reference 参考文档 : Android Studio 构建配置官方文档...文档 ( 可设置 Gradle 构建声明周期监听器 ) : https://docs.gradle.org/current/javadoc/org/gradle/api/invocation/Gradle.html...插件模块 ---- 如果想要引入该插件 , 需要将该插件上传到 远程仓库 或者 本地仓库 中 , 才能通过 在 Android 工程的根目录下的 build.gradle 构建脚本 中使用该 自定义...Studio 工程根目录中的 build.gradle 构建脚本中 , 引入插件代码如下 : buildscript { dependencies { classpath "com.android.tools.build...} } 五、自定义 Gradle 插件的完整 build.gradle 构建脚本 ---- 完整的 自定义 Gradle 插件的 build.gradle 构建脚本如下 : plugins {

    1.7K20

    【Android Gradle 插件】Gradle 自定义 Plugin 插件 ③ ( 自定义插件作用 | Android Gradle 插件的扩展 | 自定义 Extension 扩展 )

    : Android Studio 构建配置官方文档 : https://developer.android.google.cn/studio/build 添加构建依赖项 参考文档 : https...如果要执行复杂的工作 , 可以在 实现的 Plugin 接口的 apply 函数中执行 ; package org.gradle.api; public interface Plugin {...void apply(T var1); } 一般情况下 , 自定义插件工程都是针对 特定的 需求 , 开发固定功能的插件 ; 二、Android Gradle 插件的 AppExtension 扩展 -...Android 工程编译的方方面面 ; 详细参考 https://google.github.io/android-gradle-dsl 文档 ; 在 build.gradle 构建脚本 中的 android...插件中 , 定义了 AppExtension 扩展 , 对应的就是 build.gradle 构建脚本 中的 android 脚本块 ; 自定义 Gradle 插件中 , 可以定义自己的扩展 ; 首先

    99620

    【Android Gradle 插件】Gradle 自定义 Plugin 插件 ① ( buildSrc 目录中实现 Gradle 插件 | 创建 srcmaingroovy 源码目录并编译 )

    构建脚本配置前执行 ) Android Plugin DSL Reference 参考文档 : Android Studio 构建配置官方文档 : https://developer.android.google.cn...Studio 工程的根目录中的 buildSrc 目录中 , 实现 Gradle 插件 ; 二、创建 buildSrc 目录 ---- 在 Android Studio 工程的根目录中 , 创建 buildSrc...模块中的 clean , compile , assemble 等 编译任务 ; 四、演示 buildSrc 模块作用 ( 在 Gradle 构建脚本配置前执行 ) ---- 如下图所示 : buildSrc...的 Gradle 任务 , 是在 Gradle 构建脚本配置之前执行的 ; 不管 Android 工程中有多少 Module 模块 , 都会执行 buildSrc 模块下的任务 , 该模块比较特殊 ,...在 buildSrc/src/main/groovy 目录下写的 groovy 代码 , 都可以作用于 工程其它的编译脚本中 ; 编译后 , 在 buildSrc 目录下会生成 .gradle

    1.5K20

    【Android Gradle 插件】自定义 Gradle 插件模块 ④ ( META-INF 中声明自定义插件的核心类 | 在应用中依赖本地 Maven 仓库中的自定义 Gradle 插件 )

    文章目录 一、META-INF 中声明自定义插件的核心类 二、在应用中依赖本地 Maven 仓库中的自定义 Gradle 插件 Android Plugin DSL Reference 参考文档 :...Android Studio 构建配置官方文档 : https://developer.android.google.cn/studio/build 添加构建依赖项 参考文档 : https://...文档 ( 可设置 Gradle 构建声明周期监听器 ) : https://docs.gradle.org/current/javadoc/org/gradle/api/invocation/Gradle.html.../han1202012/Android_UI 一、META-INF 中声明自定义插件的核心类 ---- 参考 Android Gradle 插件内容 , 将 Android Studio 的 Project...文件中 , 声明该 自定义插件的 implementation-class=org.gradle.api.plugins.antlr.AntlrPlugin 在自己的自定义插件中 , 也需要进行上述配置

    1.5K10
    领券