IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android 如何将自己的工程变成依赖库,打包上传maven库 -> 正文阅读

[移动开发]Android 如何将自己的工程变成依赖库,打包上传maven库

背景:

在大型项目中,一个项目被划分成很多模块,如何快速的将一些module提供给他人使用,已成为项目中集成必不可少的一部分。常见的就是依赖

在Android中,dependencies{}的模块是管理依赖加载的,常见的有

implementation 'androidx.multidex:multidex:2.0.0'
implementation('androidx.appcompat:appcompat:1.0.0') { force = true }
implementation('androidx.legacy:legacy-support-v4:1.0.0') { force = true }
implementation('com.google.code.gson:gson:2.8.0')

这些是我们比较常见的一些依赖库,如何将自己的项目也变成aar提供给他人呢?

常见的有两种:

第一种:使用githunb,将自己的代码上传到github,利用github平台,将自己的代码库制作成依赖库

第二种:我们自己搭建maven库(今天所要讲的重点)

1.maven私服建议大家首选:Nexus私服。关于Nexus私服搭建,大家自己可以做一个,这里不再过多讲解,如果有问题,可以新增一期私服搭建

2.Android项目 maven集成

1.新建一个可以上传的gradle工具

在项目下新建:push_maven.gradle

配置如下内容

//引用maven插件

apply plugin: 'maven'

uploadArchives { //新增 ,因为Android Studio gradle 支持maven插件,所以可以添加此task
    configuration = configurations.archives
    repositories {
        mavenDeployer {
            // 指定maven仓库url
            repository(url: RELEASE_URL) {
                // nexus登录默认用户名和密码
                authentication(userName: USER_NAME, password: PASSWORD)
            }
            pom.project {
                groupId GROUP_ID
                artifactId ARTIFACT_ID
                version VERSION
                packaging PACKAGING //
                //description '' //更新描述
            }
        }
    }
}

2.配置账号和库地址

//maven仓库的地址和密码

RELEASE_URL=//正式库地址
SNAPSHOT_URL=//快照地址
USER_NAME=//账号
PASSWORD=//密码

?//包的信息

GROUP_ID=//组id 例如:com.abc.com
ARTIFACT_ID=//模块id  或者叫库名  
VERSION=//版本号
PACKAGING=aar //类型,现在基本已都是以aar

如:

我们有一个私服,

地址如下:http://maven.aliyun.com/nexus/content/groups/public/

RELEASE_URL="http://maven.aliyun.com/nexus/content/groups/public/releases"

SNAPSHOT_URL="http://maven.aliyun.com/nexus/content/groups/public/snapshots"

USER_NAME=woniu123

PASSWORD=123456

GROUP_ID="com.woniu.mobile.action"

ARTIFACT_ID=woniu_video

VERSION="1.0.0.1"

PACKAGING=aar

一般这些信息会存放在当前module模块下的gradle.properties,如果没有该文件,可以新建一个

使用:如果打包上传成功,我们如何依赖我们这个库?

implementation('com.woniu.mobile.action:woniu_video:1.0.0.1')

依赖内容是三个参数:(GROUP_ID:ARTIFACT_ID:VERSION)

这还不算完,你这时候会发现依赖找不到,因为你的项目不支持该私服

新增私服maven地址:工程的build文件下,否则implementation找不到maven地址

repositories {
    maven {
        url 'http://maven.aliyun.com/nexus/content/groups/public/'
    }

}

打包与上传:

介绍了如何配置和使用,接下来是该如何把项目打成aar,上传到私服地址

0.引用push_maven.gradle上传工具到module 的build中

apply from: 'push_maven.gradle'

引入之后,在gradle 的Tasks下的update中,会多一个工具按钮uploadArchives,这就是我们上面新增的push上传的工具名称

1.打包:

?我们是通过gradle的来打包,找到gradle下的自己项目module,找到module的Tasks,打开build,

点击build自动执行,执行完,log会提示success

2.上传

把编译好的aar,通过tasks下的update下的uploadArchvies, 工具上传,uploadArchives 是我们在push_maven.gradle中定义的。

这样上传完就算完成了。

注意:每次上传都需要修改版本号,私服不支持覆盖,否则会报错。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-05-24 18:20:14  更:2022-05-24 18:20:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 1:36:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码