开发高效提速系列目录
- 软件多语言文案脚本自动化方案
- Android Jitpack制作远程仓库aar流程
Android Jitpack制作远程仓库aar流程
- 背景
- aar制作与使用
- 1. aar制作
- 2. aar使用
- 异常解决
- 总结
博客创建时间:2023.08.24
博客更新时间:2023.08.24
以Android studio gradle=8.7,SDKVersion 34来分析讲解。如图文和网上其他资料不一致,可能是别的资料版本较低而已。
背景
多年的Android工作,希望制作一个属于自己的Android 开发库,便于日常的使用。于是想到制作一个远程依赖库,通过比较多种方式,最终选定使用Jetpack的方案。通过自己亲测实验,按照网上一些人写的Jitpack aar制作方法踩了不少坑,最终总结一下制作远程仓库aar包的流程,避免大家踩同样的坑或者使用了不靠谱的方案。
aar制作与使用
1. aar制作
-
在制作aar之前先创建一个工程,创建两个library分别为Jitpack和Res,在两个module中分别创建两个类

-
Jitpack和Res的build.gradle文件中配置maven-publish插件

-
添加jitpack.yml文件,不然会构建远程aar会失败
jdk: - openjdk17 # 如果还要指定特别的版本,还需要输入以下内容: #before_install: # - sdk install java 11.0.10-open # - sdk use java 11.0.10-open -
在library 的build.gradle文件中配置artifactId参数
dependencies { ... } afterEvaluate { publishing { publications { // Creates a Maven publication called "release". release(MavenPublication) { from components.release groupId = 'com.gitee.xuanyuanxinyu' artifactId = 'Res' version = '1.0.9' } } } } -
将项目打一个tag取名如v1.2.0,将其pull到远程仓库,然后就能在远程仓库看到新的tag(我用的是gitee)
![[图片]](https://i-blog.csdnimg.cn/direct/e0a6518b2f284664b45eee4c938d49d0.png)
![[图片]](https://i-blog.csdnimg.cn/direct/4fd641dc7d0440aeacd407a4e2bcdcc1.png)
-
然后在https://jitpack.io 搜索你的远程仓库,你会发现jitpack在自动帮你打包制作aar。当让https://jitpack.io 需要进行登陆和配置,这个简单百度一下就好
![[图片]](https://i-blog.csdnimg.cn/direct/fcb78f263c7b4a8ab402bb05d5d0cecd.png)
-
打开Jitpack构建日志,发现构建成功,且生成了Res.aar和Jitpack.aar两个,这就是方便我们一个项目中同时制作多个module aar库
![[图片]](https://i-blog.csdnimg.cn/direct/b548bb90260c4e90925ff8c6653adbeb.png)
2. aar使用
aar远程包制作好后接下来就是如何使用
- 在需要使用的Project的settings.gradle中配置远程依赖仓库
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url "https://jitpack.io" }
}
}
- 在需要使用的module中配置库依赖,如我在app模块中依赖使用
implementation 'com.gitee.xuanyuanxinyu:SmartJitpack:1.2.0'
![[图片]](https://i-blog.csdnimg.cn/direct/788d448dfbae49d398f7f607fc98e486.png)
- 使用aar中的资源
![[图片]](https://i-blog.csdnimg.cn/direct/adbf3c8197a84bdbbd7dab562ef7f5db.png)
![[图片]](https://i-blog.csdnimg.cn/direct/40881d5d63984c2281247b1c63ae6149.png)
如果在一个groupId中有多个artifactId,如我这有两个artifactId 为Res和JitPack,如果只想使用其中一个aar则可以差异性配置·
// 仅依赖Res library
implementation("com.gitee.xuanyuanxinyu.SmartJitpack.Res:1.2.0")
// 仅依赖Jitpack library
implementation("com.gitee.xuanyuanxinyu.SmartJitpack.Jitpack:1.2.0")
// 同时依赖Res和Jitpack library
implementation("com.gitee.xuanyuanxinyu:SmartJitpack:1.2.0")
异常解决
- No matching variant of com.android.tools.build:gradle:X.X.0 was found
Jitpack中提示构建失败,提示错误如下
![[图片]](https://i-blog.csdnimg.cn/direct/078b16fbf25441a48bb8314cdaf458db.png)
失败原因
这是因为Java 编译版本错误引起的
解决方案
添加一个jitpack.yml就解决了
jdk:
- openjdk17
# 如果还要指定特别的版本,还需要输入以下内容:
#before_install:
# - sdk install java 11.0.10-open
# - sdk use java 11.0.10-open
总结
最新最简单jitpack制作aar包教程,也可以参考我的Gitee Demo Project,希望能帮助你我他。
gitee地址:https://gitee.com/xuanyuanxinyu/SmartJitpack
参考资料:
Jitpack官方文档:https://docs.jitpack.io](https://docs.jitpack.io
Jitpack Github:https://docs.jitpack.io/
Jitpack官网:https://docs.jitpack.io/
相关链接:
- 软件多语言文案脚本自动化方案
- Android Jitpack制作远程仓库aar流程
扩展链接:
- 项目开发混淆从初识到理解
博客书写不易,您的点赞收藏是我前进的动力,千万别忘记点赞、 收藏 ^ _ ^ !



















