首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏用户9239674的专栏

    Kotlin + buildSrc:更好的管理Gadle依赖!

    Kotlin + buildSrc == Android Studio Autocomplete 您需要在您的项目里创建一个buildSrc模块,然后编写kotlin代码来管理依赖库,使得IDE支持自动补全 你只需要在buildSrc module中新建两个文件: build.gradle.kts 编写Kotlin代码的文件 (本文中是指Dependencies.kt) buildSrc/build.gradle.kts 动手实践: 新建的module名称必须为buildSrc 一开始我按照作者原文的描述,在Android Studio里右键单击项目,New 出一个名为buildSrc的Android Library,试了好几遍都提示 后来我参考这里的做法,手动创建了buildSrc这个模块。步骤如下: 1、在项目根目录下新建一个名为buildSrc的文件夹(与项目里的app文件夹同级)。 2、在buildSrc文件夹里创建名为build.gradle.kts的文件,文件内容参考之前的描述。 3、在buildSrc文件夹里创建src/main/java文件夹,如下图所示。

    3.1K10编辑于 2022-01-10
  • 来自专栏Android安卓进阶

    Android安卓进阶之——相比 Groovy 脚本, KTS 性能到底怎么样?

    abi 更改(支持的abi发生变化,可以理解为大多数缓存失效,大部分代码需要重新编译) buildSrc 非 abi 更改(即buildSrc中的普通修改) 无改动 以下数据来自在Gradle CI上运行的性能测试 abi更改时,Groovy DSL比KTS快3.2倍 在buildSrc非abi更改时,KTS比Groovy快2.5倍 在代码没有发生更改时,两者性能类似 可以看出,KTS只有在buildSrc非abi 更改时有性能优势,这是因为buildSrc中的groovy的更改会导致整个项目过时,导致项目重新编译 而buildSrc中的kts修改可以跳过未受影响的构建脚本文件的编译,因此当修改buildsrc时, abi 更改(支持的abi发生变化,可以理解为大多数缓存失效,大部分代码需要重新编译) buildSrc 非 abi 更改(即buildSrc中的普通修改) Use Case Groovy Kotlin 当buildSrc中发生非abi更改时,kts脚本编译比Groovy DSL快4到5倍,这是因为buildSrc中的kts可以跳过未受影响的构建脚本的编译,而groovy暂不支持 当项目没有发生更改时,

    2K41编辑于 2022-03-19
  • 来自专栏韩曙亮的移动开发专栏

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

    文章目录 一、buildSrc 目录中实现 Gradle 插件 二、创建 buildSrc 目录 三、创建 src/main/groovy 源码目录 四、演示 buildSrc 模块作用 ( 在 Gradle 目录中 , 实现 Gradle 插件 ; 二、创建 buildSrc 目录 ---- 在 Android Studio 工程的根目录中 , 创建 buildSrc 目录 , 该目录是特殊目录 , AS 目录 , 在执行 assembleDebug 编译任务时 , 首先执行 buildSrc 模块中的 clean , compile , assemble 等 编译任务 ; 四、演示 buildSrc Module 模块 , 都会执行 buildSrc 模块下的任务 , 该模块比较特殊 , 在 buildSrc/src/main/groovy 目录下写的 groovy 代码 , 都可以作用于 工程其它的编译脚本中 ; 编译后 , 在 buildSrc 目录下会生成 .gradle 目录 和 build 目录 ;

    2.2K20编辑于 2023-03-30
  • 来自专栏振兴的Android修炼手册

    将构建配置从 Groovy 迁移到 KTS

    Project Structure 编辑器不会展开在 buildSrc 文件夹中定义的用于库名称或版本的常量。 KTS 文件目前在项目视图中不提供文本提示。 使用buildSrc项目是关于将您的构建逻辑组织成共享的本地插件和约定,这些插件和约定易于测试并提供良好的 IDE 支持。 buildSrc则不需要在多个独立项目之间共享代码,就可以非常方便地使用该代码了。 buildSrc被视为构建目录。 先创建buildSrc目录; 在该目录下创建build.gradle.kts文件; 创建一个buildSrc/src/main/koltin目录; 在该目录下创建Dependencies.kt文件作为版本管理类 官方文档 Gradle’s Kotlin DSL BuildSrc 文章到这里就全部讲述完啦,若有其他需要交流的可以留言哦~!

    4.4K00发布于 2021-06-28
  • 来自专栏胖虎的研发之路

    【Android 字节码插桩】Gradle插件基础 & Transform API的使用

    但是,该插件在构建脚本之外不可见,因此您不能在定义它的构建脚本之外重用该插件 项目中编写buildSrc 项目 (module) 插件的源代码放在rootProjectDir/buildSrc/src /main/java目录中(rootProjectDir/buildSrc/src/main/groovy或rootProjectDir/buildSrc/src/main/kotlin取决于您喜欢的语言 编写gradle插件项目主要也是用在当前项目中,不能被外部的项目引用,它的创建有一套固定的流程,步骤如下: 第二种是使用buildSrc,首先再项目的根目录创建一个buildsrc目录, 然后点击make Gradle 的插件编写之buildSrc buildSrc编写gradle插件项目的是在当前项目下使用,不能也没办法给外部使用,创作流程如下: 1.首先在项目根目录下新建一个buildSrc目录,然后点击 AS的make 编译,AS就会自动在buildSrc目录下创建一些文件,如下图所示: 2.在buildSrc目录下新建build.gradle文件并加入如下代码: apply plugin: 'java-library

    1.1K10编辑于 2024-02-02
  • 来自专栏Biubiu说

    Android 重构 | 持续优化统一管理 Gradle

    buildSrc 只要不需要在多个独立项目之间共享代码,就可以非常方便地使用该代码。 该目录 buildSrc 被视为包含的构建。 对于多项目构建,只能有一个 buildSrc 目录,该目录必须位于根项目目录中。buildSrc 应该比脚本插件更可取,因为它更易于维护,重构和测试代码。 Google Develop 思索许久,个人简单总结下: buildSrc 存在于 Gradle 编译期; 同样 buildSrc 支持(单独项目)共享代码,例如一个项目中多个 module 都可以直接调用 buildSrc 实践 描述下操作步骤: 在项目根目录下创建 buildSrc 目录,随后新建 build.gradle.kts 文件; 创建 src 目录,以及对应管理版本文件; 替换直接使用原有依赖 加个 gif 配图吧~ 手动编写 buildSrc 需要注意: 目录结构:例如:buildSrc/src/main/kotlin(java) 在 build.gradle.kts 中添加 jcenter

    2.2K31发布于 2020-09-24
  • 来自专栏振兴的Android修炼手册

    将构建配置从 Groovy 迁移到 KTS

    Project Structure 编辑器不会展开在 buildSrc 文件夹中定义的用于库名称或版本的常量。 KTS 文件目前在项目视图中不提供文本提示。 使用buildSrc项目是关于将您的构建逻辑组织成共享的本地插件和约定,这些插件和约定易于测试并提供良好的 IDE 支持。 buildSrc则不需要在多个独立项目之间共享代码,就可以非常方便地使用该代码了。 buildSrc被视为构建目录。 先创建buildSrc目录; 在该目录下创建build.gradle.kts文件; 创建一个buildSrc/src/main/koltin目录; 在该目录下创建Dependencies.kt文件作为版本管理类 官方文档 Gradle’s Kotlin DSL BuildSrc 文章到这里就全部讲述完啦,若有其他需要交流的可以留言哦~!

    2.4K20发布于 2021-07-01
  • 来自专栏Android群英传

    Gradle自定义插件

    在Gradle中创建自定义插件,Gradle提供了三种方式: 在build.gradle脚本中直接使用 在buildSrc中使用 在独立Module中使用 开发Gradle插件可以在IDEA中进行开发 其中,除了buildSrc目录以外,都是标准的Android目录,而buildSrc就是Gradle提供的在项目中配置自定义插件的默认目录,开发Gradle要创建的目录,也就是RootProject/src 创建buildSrc/build.gradle—1 首先,先来配置buildSrc目录下的build.gradle文件,这个配置比较固定,脚本如下所示: apply plugin: 'groovy'dependencies 如上图所示,创建的文件与在buildSrc目录中创建的文件都是一模一样的,只是这里在一个自定义的Module中创建插件而不是在默认的buildSrc目录中创建。 引用插件 在buildSrc中,系统自动帮开发者自定义的插件提供了引用支持,但自定义Module的插件中,开发者就需要自己来添加自定义插件的引用支持。

    1.6K10发布于 2018-07-20
  • 来自专栏彭旭锐

    还没自定义过 Gradle 插件的要学了

    1.5 特殊的 buildSrc 模块 插件模块的名称是任意的,除非使用了一个特殊的名称 “buildSrc”,buildSrc 模块是 Gradle 默认的插件模块。 > Configure project :buildSrc build.gradle:buildSrc. UP-TO-DATE > Task :buildSrc:processResources NO-SOURCE > Task :buildSrc:classes UP-TO-DATE > Task :buildSrc > Task :buildSrc:compileTestJava NO-SOURCE > Task :buildSrc:compileTestGroovy NO-SOURCE > Task :buildSrc > Task :buildSrc:validatePlugins UP-TO-DATE > Task :buildSrc:check UP-TO-DATE > Task :buildSrc:build

    2.5K20编辑于 2022-09-26
  • 来自专栏Android开发指南

    Android Gradle插件

    2)在 buildSrc 目录下编写。 3)在完全独立的项目中编写。 buildSrc 由于buildSrc目录是gradle默认的目录之一,该目录下的代码会在构建是自动编译打包,并被添加到buildScript中的classpath下,所以不需要任何额外的配置,就可以直接被其他模块的构建脚本所引用 优点: 项目构建时,Gradle 会自动编译项目目录下的 buildSrc 文件夹下的构建脚本和源码,并将其添加到项目构建脚本的 classpath 中,因此在使用 buildSrc 中创建的插件时,无需再手动指定 classpath(依赖的名字)(当然也可以自己创建id) buildSrc 文件夹中构建脚本和 Gradle 插件同一项目均可见,因此同一项目中的其他模块也可以使用 buildSrc 中创建的插件 具体结构可参考上文buildSrc目录结构。

    1.6K20发布于 2021-06-24
  • 来自专栏Android开发实战

    Gradle自定义插件详解

    关于gradle插件自定义,发现网上好多的错误教程,总结后的文章,若本文中也有错误,请及时指正 在Gradle中创建自定义插件,Gradle提供了三种方式: 在build.gradle脚本中直接使用 在buildSrc 项目中使用gradle截图 其中,除了buildSrc目录以外,其他都是标准的Android目录,而buildSrc就是Gradle提供的在项目中配置自定义插件的默认目录,开发Gradle要创建的目录, 1,创建buildSrc/build.gradle 首先,先来配置buildSrc目录下的build.gradle文件,这个配置比较固定,使用官网示例,脚本如下所示: ? 该目录结构与buildSrc一样,是Gradle插件的默认目录,不能有任何修改。 在buildSrc中创建自定义Gradle插件只能在当前项目中使用,因此,对于具有普遍性的插件来说,通常是建立一个独立的Module来创建自定义Gradle插件。 创建过程请参考上节中的 《二.

    1.6K20发布于 2018-10-22
  • 来自专栏韩曙亮的移动开发专栏

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

    Gradle Daemon started in 2 s 446 ms > Task :buildSrc:compileJava NO-SOURCE > Task :buildSrc:compileGroovy UP-TO-DATE > Task :buildSrc:processResources NO-SOURCE > Task :buildSrc:classes UP-TO-DATE > Task :buildSrc :jar UP-TO-DATE > Task :buildSrc:assemble UP-TO-DATE > Task :buildSrc:compileTestJava NO-SOURCE > Task :buildSrc:compileTestGroovy NO-SOURCE > Task :buildSrc:processTestResources NO-SOURCE > Task :buildSrc :testClasses UP-TO-DATE > Task :buildSrc:test NO-SOURCE > Task :buildSrc:check UP-TO-DATE > Task :buildSrc

    1.4K10编辑于 2023-03-30
  • 来自专栏JetPack

    Gradle基础|自定义插件并上传到JitPack

    相应的,如果要跨项目复用,就比较难解决,而且因为缺少统一的维护路径,也增加了后期成本 buildSrc 官方建议我们可以将本地插件的代码放到 buildSrc 这个目录中。 这个目录比较特殊,对于每一个工程而言,有且只能有一个 buildSrc 目录,并且必须位于项目的根目录,如果存在 buildSrc 这个目录,那么 Gradle 在运行时会自动编译并测试这里面的代码,并将其放入构建脚本的类路径中 示例代码:buildSrc 使用教程: 我们新建一个名为 buildSrc 的目录,然后直接创建一个 build.gradle 文件,如下所示: 代码如下: apply plugin: 'kotlin model,如下所示: 看着好像过于简单了点,也没啥不同,你可能会想,那这样的话,那 buildSrc 的用处是啥? 我们在最上面说过了,buildSrc 本身是一个特殊的项目,Gradle 会自动编译并引入。

    1.3K10编辑于 2022-02-09
  • 来自专栏Phoenix的Android之旅

    自定义Gradle Plugin

    自定义Gradle插件的方式 自定义Gradle的方式一共有三种: 1.直接在构建文件build.gradle中编写Plugin,这种方法写的Plugin无法被其他构建文件引用 2.buildSrc 2.在buildSrc Module中创建 首先创建一个module,名字必须为buildSrc,选择 Java Library。 implements Plugin<Project>{ @Override void apply(Project project){ println("DemoPlugin in buildSrc Module") } } buildSrc Module 中的build.gradle 文件: apply plugin: 'groovy' dependencies { implementation

    1.2K10发布于 2018-12-13
  • 来自专栏Android补给站

    Android四种依赖管理方法应用对比

    Kotlin buildSrc Kotlin buildSrc是一种改进的依赖管理方法,它将依赖定义移到独立的Kotlin模块中,以便更好地组织和共享依赖。 步骤如下: 创建一个名为buildSrc的子项目。 在buildSrc中创建一个Kotlin文件,例如Dependencies.kt,并在其中定义依赖项。 // buildSrc/src/main/java/Dependencies.kt object Dependencies { const val appCompat = "com.android.support 缺点: 需要创建额外的buildSrc子项目。 最佳实践:适用于中等规模的项目,需要更好的组织和共享依赖的情况。 传统的依赖方法适用于小型项目和原型开发,而Kotlin buildSrc、Composing builds和Version Catalogs适用于更大型、复杂的项目,根据需求选择最合适的方法将有助于项目的成功开发和维护

    2.3K20编辑于 2023-09-21
  • 来自专栏韩曙亮的移动开发专栏

    【Android Gradle 插件】Gradle 自定义 Plugin 插件 ⑤ ( 自定义插件中获定义方法 | 在插件中创建 Gradle 任务 | 代码示例 )

    :compileJava NO-SOURCE > Task :buildSrc:compileGroovy > Task :buildSrc:processResources NO-SOURCE > Task :buildSrc:classes > Task :buildSrc:jar > Task :buildSrc:assemble > Task :buildSrc:compileTestJava NO-SOURCE > Task :buildSrc:compileTestGroovy NO-SOURCE > Task :buildSrc:processTestResources NO-SOURCE > Task :buildSrc:testClasses UP-TO-DATE > Task :buildSrc:test NO-SOURCE > Task :buildSrc:check UP-TO-DATE > Task :buildSrc:build > Configure project :app MyPlugin MyPluginExtensions extensionFun MyPluginExtensions

    3.1K20编辑于 2023-03-30
  • 来自专栏逮虾户

    为什么要选择VersionCatalog来做依赖管理?

    我们最近也算是成功接入了VersionCatalog,过程也还是有点曲折的,总体来说我觉得确实比我们当前的ext,或者说是用buildSrc的形式进行依赖管理是个更成熟的方案吧。 而这部分问题就不存在于buildSrc和toml中,他们只能被声明在固定的位置上。 而buildSrc则是基于java的代码编译来的,toml因为是一个新的文件格式,所以内置了一套相对比较强的语法校验,如果不合规则会报错,并显示错误行数。 据说buildSrc对于增量编译的适配等其实不太良好,而且我们是一个复杂的巨型复合构建的工程,所以个人并不太推荐buildSrc。 可以参考这篇文章第二章 Stop using Gradle buildSrc.

    95120编辑于 2023-02-02
  • 来自专栏yanlongli_艳龙

    自定义 Gradle Plugin

    写在 buildSrc ⽬录下 tips:单个项目使用, 进行了代码分离,可以进行一定程度的复用 目录结构: *.properties resources 目录是固定写法,可以包含多个 *.properties } } } ExtensionDemo.groovy class ExtensionDemo { def name = "dalong" } 关于buildSrc 这是 gradle 的⼀个特殊目录,这个目录的 build.gradle 会自动被执⾏,不需再配置到settings.gradle buildSrc 的执⾏早于任何⼀个 project,也早于 settings.gradle buildSrc 中配置的plugin,会被添加到settings.gradle 中的所有子project中classpath中, 因此所有的project 可以使用 apply plugin: 官网参考: https://docs.gradle.org/current/userguide/organizing_gradle_projects.html#sec:build_sources buildSrc

    53220编辑于 2021-12-16
  • 来自专栏韩曙亮的移动开发专栏

    【Android Gradle 插件】Gradle 自定义 Plugin 插件 ⑥ ( 在 buildSrc 模块中依赖 Android Gradle 插件 | 完整代码示例 )

    文章目录 一、在 buildSrc 模块中依赖 Android Gradle 插件 二、完整代码示例 Android Plugin DSL Reference 参考文档 : Android Studio 模块中依赖 Android Gradle 插件 ---- 在 Android Studio 工程的根目录的 buildSrc 模块下的 src/main/groovy 代码 , 自动引入了 Groovy , Gradle , Java 依赖库 , 可以直接调用上述 API ; 这里注意 , 在该 buildSrc 模块下可以依赖 Gradle 相关的 API , 如 Project 调用等 , 但是不能调用 Android Gradle 插件相关的 API ; 如果我们想要依赖其它的 函数库 , 可以在 buildSrc 模块下 , 自己创建 build.gradle 构建脚本 ; 如果想要在 buildSrc jcenter() } dependencies { implementation 'com.android.tools.build:gradle:4.2.1' } 添加了 上述依赖 之后 , 可以在 buildSrc

    1.8K30编辑于 2023-03-30
  • 来自专栏Android补给站

    Android Gradle系列-进阶篇

    2 BuildSrc&Kotlin 如果你的项目使用了kotlin,那么buildSrc&Kotlin的统一管理方案将更适合你。 Gradle项目会默认识别buildSrc目录,并且会将该目录中的配置注入到build.gradle中,以至于让build.gradle能够直接引用buildSrc中的配置项。 有了这一特性,我们就可以直接将之前version.gradle中的配置放入到buildSrc中,下面我们开始实现。 首先在根目录新建一个buildSrc目录(与app同级),然后在该目录新建src/main/java目录,该目录是你之后配置项所在的目录;同时再新建build.gradle.kts文件,并在该文件中添加 至于到底使用哪一种,这就看个人喜好了,但如果你的项目使用了kotlin,我还是建议你使用buildSrc模式,因为对于Groovy语法而言,我相信你还是对Kotlin更加熟悉。

    1.8K20发布于 2019-07-17
领券