文章目录

  • 解决的痛点
  • 基础准备
  • 1、创建插件
  • 2、部署到本地
  • 3、将代码提交到gitlab仓库
  • 4、引用仓库代码
  • 5、集成使用测试
  • 参考文章:


解决的痛点
  • 开发过程中,随着项目的发展,经常会有一些基础库需要打成aar或者jar的形式,分发到各个业务线去使用,往往每一次变更都需要各业务线手动替换aar或者jar包,成本很高。
  • 使用公司已有的gitlab搭建maven仓库,将相应的aar和jar包托管到maven仓库,各个业务线只需要通过implementation 引用方式即可使用,无需替换aar和jar包
  • 基础库发生变更后,只需要通过各个业务线修改依赖版本即可
基础准备
  • Android Studio
  • 本次使用的是Android Studio Bumblebee 版本
  • Gradle 版本是gradle-7.2
  • Gitlab仓库/Gitee仓库
1、创建插件
  • 使用Android Studio 新建Android项目并创建module

创建的module名字可以根据用途自定义,本次使用logplugin命名

  • 删除module中无用文件夹,红框中的全部删除
  • gitlab maven 依赖 gitlab搭建maven仓库_maven

  • 在logplugin中的build.gradle中配置maven打包上传脚本
plugins {
    id 'java-library'
    id 'maven-publish'  // maven插件
}

// 配置maven打包参数
publishing {
    publications {
        maven(MavenPublication) {
            groupId = 'com.peter.example' // 包名
            artifactId = 'log-plugin   // 插件名
            version = '1.0.0             // 版本
             artifact "libs/mylibrary-release.aar"     // 将本地文件夹中aar包一起上传到仓库

            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、引用仓库代码
  • 在项目settings.gradle中配置maven依赖
  • maven 中ur路径规则
> https://域名地址/Group名称/项目名/raw/分支
> 如果该项目是你自己的。而不是组里面的。那么Group名称就得换成你的用户名了
  • 在app工程build.gradle中添加implementation依赖
implementation 'com.peter.example:log-plugin:1.0.0'
  • 依赖规则
    包名:插件名:版本号
5、集成使用测试
  • 同步项目
  • 查看External Libraries

    如果依赖库加载成功,则在External Libraries中可见
  • 依赖使用