解决的痛点
- 开发过程中,随着项目的发展,经常会有一些基础库需要打成aar或者jar的形式,分发到各个业务线去使用,往往每一次变更都需要各业务线手动替换aar或者jar包,成本很高。
- 使用公司已有的gitlab搭建maven仓库,将相应的aar和jar包托管到maven仓库,各个业务线只需要通过implementation 引用方式即可使用,无需替换aar和jar包
- 基础库发生变更后,只需要通过各个业务线修改依赖版本即可
基础准备
- Android Studio
- 本次使用的是Android Studio Bumblebee 版本
- Gradle 版本是gradle-7.2
- Gitlab仓库/Gitee仓库
1、创建插件
plugins {
id 'java-library'
id 'maven-publish' // maven插件
}
// 配置maven打包参数
publishing {
publications {
maven(MavenPublication) {
groupId = 'com.peter.example' // 包名
artifactId = 'log-plugin // 插件名
version = '1.0.0 // 版本
from components.java // 生成jar包
}
}
repositories {
maven {
// 配置本地部署文件夹
def mavenDirPath = file('D:\\maven')
url = "file://${mavenDirPath.absolutePath}"
}
}
}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
2、部署到本地
- 配置完打包脚本后,点击同步,就会在studio中出现tasks列表,点击publish就将插件部署到了本地
- 查看本地目录我们发现已经生成了log-plugin文件夹
- log-plugin包结构如下
3、将代码提交到gitlab仓库
- 在gitlab中创建新项目
- 将本地maven仓库代码提交到远程仓库
cd existing_folder
git init
git remote add origin git仓库地址
git add .
git commit -m "Initial commit"
git push -u origin master
4、引用仓库代码
implementation 'com.peter.example:log-plugin:1.0.0'
5、集成使用测试
- 同步项目
- 查看External Libraries
如果依赖库加载成功,则在External Libraries中可见 - 依赖使用
参考文章:
https://blog.csdn.net/wenwen091100304/article/details/89792240 https://zhuanlan.zhihu.com/p/145941547
|