记录一下 Maven 生成本地 aar及使用本地 aar 的方法。
生成 aar
用 AndroidStudio 建立一个标准 Android 项目

在些基础上,右键新建一个 module,里面新建一个 类LibraryTest

其后在 testlibrary
module 的 build.gradle 文件中添加代码
apply plugin: "maven"
version = new Date().format("yyyyMMddHHmm")
uploadArchives {
repositories {
mavenDeployer {
repository(url: uri('../repo')) //定义本地maven仓库的地址
pom.version = version
pom.artifactId = "testlibrary"
pom.groupId = "com.yuan.testlibrary"
pom.name = "testlibrary"
pom.packaging = 'aar'
}
}
}
简单解释一下apply plugin: "maven"
是把 maven 插件引入,version = new Date().format("yyyyMMddHHmm")
版本号,这里简单写成年月日时分的格式,剩下的是标准写法,如若不太熟悉参考maven。repository(url: uri('../repo')) //定义本地maven仓库的地址
这句是定义仓库地址,这里 为了简单,只直接定义到了跟module 同层的目录(远程上传,这里就需要改成远程的地址)。
添加完成后,打开右侧 gradle,找到testlibrary
,点击upload
目录,发现了我们新增加的这个 task

双击运行或者通过 gradle 命令
gradle uploadArchives
运行,第一次可能会稍微慢一点,因为会下载 maven 相关依赖,等运行结束后,在项目中就会发现
这样就完成了本地仓库 aar 包的上传。
使用 aar
在需要使用的module(这里以 app
主项目为例),在 app
的 build.gradle 文件中添加使用依赖
implementation 'com.yuan.testlibrary:testlibrary:201904221007'
,点击sync Now

会发现如下错误:

这个错误的出现,是由于我们没有添加maven 的地址,它是找不到,由于我们现在是打在本地仓库(和 module 同级的目录),所以在 project 的 build.gradle 文件中添加如下代码
maven{
url "../repo"
}
如图(如若出现引用找不到的现象 把url 的地址改成绝对路径)

这时候再同步一下,然后回到app 下的 MainActivity 类,就可以直接引用 aar
里面的代码了。

网友评论