记录总结
Android Studio结合Maven,将library module依赖转换为aar依赖,使用方式:
compile ‘xxx:xxx:xxx’
或者
implementation ‘xxx:xxx:xxx’
Github作为Maven库
一、Github创建仓库:DemoMaven
二、Git clone此仓库
省事,直接clone到本地作为本地maven库,比如clone到本地之后,库目录为:mavenlocal=E:/DemoMaven
三、将library module生成为aar,并同步到到本地和Github 个人maven库。
3.1、配置library Module
在library Module的build.gradle添加配置信息(或者新建gradle文件进行配置):
1、开始添加maven支持
apply plugin: 'maven'
2、末尾配置maven本地发布目录
uploadArchives {
repositories.mavenDeployer {
//getProperty('mavenlocal')在项目根目录的gradle.properties文件中配置的本地maven库路径:mavenlocal=E:/DemoMaven,即第二步clone下来的库目录
//def mavenRepositoryPath = file(getProperty('mavenlocal'))
def mavenRepositoryPath = file(mavenlocal)
repository(url: "file://${mavenRepositoryPath.absolutePath}")
pom.project {
//一般使用包名
groupId "com.rqhua.demo.customviews"
//一般使用module名
artifactId "customviews"
//版本号
version 1.1.1
}
}
}
3.2、生成aar到本地maven库
完成library 之后,在gradle操作中选择当前module的gradle,
Tasks -> upload -> uploadArchives
执行结束之后生成aar到本地maven库完成。
3.3、提交到Github DemoMaven库
四、在项目中引用
github中DemoMaven库链接为:
https://github.com/xiaocaifly/DemoMaven
修改为:
https://raw.githubusercontent.com/xiaocaifly/DemoMaven/master
(将github.com替换为raw.githubusercontent.com并在最后添加/master)
将修改后的链接作为在引用的maven库的地址,修改根目录build.gradle(或者在对应项目的gradle修改):
在repositories标签下添
maven {
url "https://raw.githubusercontent.com/xiaocaifly/DemoMaven/master" }
果要引用本地的maven库,url修改为maven库目录。
并在module的gradle中引用:
implementation 'com.rqhua.demo.customviews:customviews:1.1.1'
或
compile 'com.rqhua.demo.customviews:customviews:1.1.1'
正常进行到这就可以在项目中引用maven库中library module对应的aar包。
私有Maven库
若维护自己的library库方便不同的项目引用,可能会用到私有maven库中,Server使用 Nexus,点击跳转下载 。
本人只是用来管理自己的一些东西,只用了基础的功能:
创建maven库,拿到库链接替换上文中的github maven库连接。至于如何创建以及对maven库进行配置,请参考官方文档,或网友文章 点击跳转进行了解。
生成aar到maven时,对library module的gradle做修改:
apply plugin: 'maven'
uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://localhost:8081/repository/androidlib/") {
authentication(userName: "admin", password: "admin123")
}
pom.project {
name 'customviews'
packaging 'aar'
description 'customviews colection'
groupId 'com.rqhua.demo.customviews'
artifactId 'customviews'
version '1.1.1'
}
}
}
}
生成的aar将直接上传至私有maven服务。
提示:生成到maven的链接和使用时的链接要同时更改