开发高效提速系列目录
- 软件多语言文案脚本自动化方案
- 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://jitpack.io 搜索你的远程仓库,你会发现jitpack在自动帮你打包制作aar。当让https://jitpack.io 需要进行登陆和配置,这个简单百度一下就好
-
打开Jitpack构建日志,发现构建成功,且生成了Res.aar和Jitpack.aar两个,这就是方便我们一个项目中同时制作多个module aar库
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'
- 使用aar中的资源
如果在一个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中提示构建失败,提示错误如下
失败原因
这是因为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流程
扩展链接:
- 项目开发混淆从初识到理解
博客书写不易,您的点赞收藏是我前进的动力,千万别忘记点赞、 收藏 ^ _ ^ !