文章目录

  • 解决的痛点
  • 基础准备
  • 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中无用文件夹,红框中的全部删除

  • 在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_8targetCompatibility = 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中可见
  • 依赖使用
参考文章:

https://blog.csdn.net/wenwen091100304/article/details/89792240
https://zhuanlan.zhihu.com/p/145941547

使用gitlab搭建maven仓库相关推荐

  1. 使用Nexus搭建Maven仓库私服的权限配置心得

    最近在学习Maven,学习到使用Nexus搭建私服,通过Nexus的权限机制可以实现较细粒度的权限控制,这对组织内部的团队开发很有帮助.通过实验,我总结了以下一些经验,可以实现一些权限控制的需求,在此 ...

  2. Git版本管理系统实战(3)——gitlab(搭建私有仓库)

    1.gitlab的简介 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务 安装方法是参考GitLab在GitHub上的Wiki页面 2.gi ...

  3. maven+nexus搭建maven仓库

    安装maven sudo wget http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-b ...

  4. 本地搭建maven仓库

    Maven Maven是专门用于管理和构建Java项目的工具,它的主要功能有: 提供了一套标准化的项目结构 提供了一套标准化的构建流程(编译,测试,打包,发布--) 提供了一套依赖管理机制 Maven ...

  5. 使用Nexus搭建Maven仓库

    1.目的 通过建立自己的私服,能够减少中央仓库负荷.节省外网宽带.加速maven构建.自己部署构件等,从而高效的使用maven,nexus是当前流行的Maven仓库管理软件. 2.下载nexus 2. ...

  6. 019.nexus搭建docker镜像仓库/maven仓库

    一.安装docker CE 参考docker doc https://docs.docker.com/install/linux/docker-ce/centos/ 二.docker启动nexus3 ...

  7. Maven学习总结(37)——利用GitHub或阿里云OSS对象存储、又拍云、七牛云存储等搭建个人Maven仓库

    无论是用Nexus还是HTTP服务器搭建Maven仓库,总归需要一台服务器,一台服务器需要花钱买和花时间维护,成本比较大.Nexus一般是公司用的比较多,个人不推荐使用.本文就是介绍一些适合个人搭建M ...

  8. 使用site-maven-plugin在github上搭建公有仓库

    文章目录 简介 前期准备 在maven中配置GitHub权限 配置deploy-plugin 配置site-maven-plugin 怎么使用这个共享的项目 总结 简介 Maven是我们在开发java ...

  9. Sonatype Nexus搭建maven私服仓库

    搭建Maven私服仓库 1. 概述 Sonatype Nexus是一种特殊的远程仓库,是架设在局域网内的仓库管理器. nexus 可以搭建局域网maven私服仓库(实现局域网用户共享),并且支持代理广 ...

最新文章

  1. WPF查找子控件和父控件方法
  2. R语言tidyr包separate()函数实战详解:一列裂变为多列
  3. Win10双系统设置默认启动系统的图文教程
  4. 在Google Cloud Platform的K8上运行Fn函数
  5. pgsql数据库默认配置事务类型_postgreSql最佳配置详解(connection 申请、回收策略)...
  6. 攻防世界-Misc-gif
  7. iOS开发常用的RGB色值
  8. tsplay 打流,EasyICE测试
  9. java程序员必须安装的软件
  10. 【转载】CSS常用英文字体介绍
  11. “美国人工智能倡议”解读
  12. 关于Git这一篇就够了
  13. c语言读取jpg字节,JPG图片C语言解码显示例子-期末倾情奉献
  14. canal同步mysql数据到rocketmq集群
  15. 【图像分割】基于matlab萤火虫算法图像聚类分割【含Matlab源码 2106期】
  16. Centos7 查看系统版本信息
  17. 系统软件和应用软件的划分
  18. 瑞萨CPU平台的GPIO模拟I2C之三:SPHE1002读写调用
  19. 曲线弧长和旋转体侧面积的计算公式
  20. 【每日早报】2019/05/30

热门文章

  1. Js ——CloneNode()用法
  2. 电商订单技术方案梳理
  3. 防水运动蓝牙耳机,分体式蓝牙耳机品牌推荐
  4. [原创] 智能商业时代的挑战
  5. 量子计算机作文材料,作文素材:九章问世,量子科技,你该知道的世界!.docx...
  6. AndroidStudio offlineWork
  7. Labview—匹配模式/匹配正则表达式
  8. 我可以使用哪些“ clearfix”方法?
  9. 前端搜索引擎优化(SEO)
  10. POOLED指的是什么