val appcompat = “1.1.0”
…
}
object Deps {
…
val appcompat = “androidx.appcompat:appcompat:${Versions.appcompat}”
…
}
- 重启你的 Android Studio,项目里就会多出一个名为 buildSrc 的 module,实现上面演示的效果
Project-ComposingBuild
-
新建的 module 名称 versionPlugin
-
在 versionPlugin 文件夹下的 build.gradle 文件内,添加以下内容
buildscript {
repositories {
jcenter()
}
dependencies {
// 因为使用的 Kotlin 需要需要添加 Kotlin 插件
classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.72”
}
}
apply plugin: ‘kotlin’
apply plugin: ‘java-gradle-plugin’
repositories {
// 需要添加 jcenter 否则会提示找不到 gradlePlugin
jcenter()
}
gradlePlugin {
plugins {
version {
// 在 app 模块需要通过 id 引用这个插件
id = ‘com.hi.dhl.plugin’
// 实现这个插件的类的路径
implementationClass = ‘com.hi.dhl.plugin.Deps’
}
}
}
- 在 versionPlugin/src/main/java/包名/ 目录下新建 Deps.kt 文件,添加以下内容
class Deps : Plugin {
override fun apply(project: Project) {
}
companion object {
val appcompat = “androidx.appcompat:appcompat:1.1.0”
}
}
-
在 settings.gradle 文件内添加 includeBuild ‘versionPlugin’ 重启你的 Android Studio
-
在 app 模块 build.gradle 文件内添加以下内容,就可以实现上面演示的效果
plugins{
// 这个 id 就是在 versionPlugin 文件夹下 build.gradle 文件内定义的 id
id “com.hi.dhl.plugin”
}
Project-ComposingBuild 比 Project-buildSrc 多了两步操作需要在 settings.gradle 和 build.gradle 引入插件,两者在使用都是差不多的
如何快速使用 buildSrc
-
访问 ComposingBuilds-vs-buildSrc 拷贝 buildSrc 文件夹到你的项目的根目录
-
重启你的 Android Studio,项目里就会多出一个名为 buildSrc 的 module
如何快速使用 Composing builds
-
访问 ComposingBuilds-vs-buildSrc 拷贝 versionPlugin 文件夹到你的项目的根目录
-
按照上面的配置方式,分配在 settings.gradle 和 app 模块的 build.gradle 引用插件即可
总结
总共从以下几个方面对比了 Composing builds 和 buildSrc
-
目录结构:它们的基本目录结构是相同的,可以根据自己的项目进行不同的扩展
-
编译速度:当修改了版本号,Project-buildSrc 项目 Build 的时间几乎是 Project-ComposingBuild 项目的 4.6 倍( PS: 每个人的环境不同,时间上会有差异,但是 Project-buildSrc 的时间总是大于 Project-ComposingBuild )
-
使用上的区别:Composing builds 比 buildSrc 多了两步操作需要在 settings.gradle 和 build.gradle 引入插件
Project-buildSrc 和 Project-ComposingBuild 相关代码已经上传到 GitHub 了:ComposingBuilds-vs-buildSrc
到目前为止大概管理 Gradle 依赖提供了 4 种不同方法:
-
手动管理 :在每个 module 中定义插件依赖库,每次升级依赖库时都需要手动更改(不建议使用)
-
使用 ext 的方式管理插件依赖库 :这是 Google 推荐管理依赖的方法 Android官方文档
-
Kotlin + buildSrc:自动补全和单击跳转,依赖更新时 将重新 构建整个项目
-
Composing builds:自动补全和单击跳转,依赖更新时 不会重新 构建整个项目
buildSrc 如何迁移到 Composing builds?
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
题外话
不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊~
这里我为大家准备了一些我工作以来以及参与过的大大小小的面试收集总结出来的一套进阶学习的视频及面试专题资料包,点击这里免费分享给大家,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~
最后如果马化腾把腾讯给你一天,你会来做什么?欢迎评论区讨论。
156601)给大家,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~
[外链图片转存中…(img-MuKJZxS6-1710898883983)]
最后如果马化腾把腾讯给你一天,你会来做什么?欢迎评论区讨论。