Android Jitpack制作远程仓库aar流程

2024-08-24 16:12

本文主要是介绍Android Jitpack制作远程仓库aar流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开发高效提速系列目录

  1. 软件多语言文案脚本自动化方案
  2. 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制作

  1. 在制作aar之前先创建一个工程,创建两个library分别为Jitpack和Res,在两个module中分别创建两个类
    在这里插入图片描述

  2. Jitpack和Res的build.gradle文件中配置maven-publish插件
    在这里插入图片描述

  3. 添加jitpack.yml文件,不然会构建远程aar会失败

    jdk:- openjdk17#  如果还要指定特别的版本,还需要输入以下内容:
    #before_install:
    #  - sdk install java 11.0.10-open
    #  - sdk use java 11.0.10-open
    
  4. 在library 的build.gradle文件中配置artifactId参数

    dependencies {...
    }
    afterEvaluate {publishing {publications {// Creates a Maven publication called "release".release(MavenPublication) {from components.releasegroupId = 'com.gitee.xuanyuanxinyu'artifactId = 'Res'version = '1.0.9'}}}
    }
    
  5. 将项目打一个tag取名如v1.2.0,将其pull到远程仓库,然后就能在远程仓库看到新的tag(我用的是gitee)
    [图片]
    [图片]

  6. 然后在https://jitpack.io 搜索你的远程仓库,你会发现jitpack在自动帮你打包制作aar。当让https://jitpack.io 需要进行登陆和配置,这个简单百度一下就好
    [图片]

  7. 打开Jitpack构建日志,发现构建成功,且生成了Res.aar和Jitpack.aar两个,这就是方便我们一个项目中同时制作多个module aar库
    [图片]

2. aar使用

aar远程包制作好后接下来就是如何使用

  1. 在需要使用的Project的settings.gradle中配置远程依赖仓库
dependencyResolutionManagement {repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)repositories {google()mavenCentral()maven { url "https://jitpack.io" }}
}
  1. 在需要使用的module中配置库依赖,如我在app模块中依赖使用
implementation 'com.gitee.xuanyuanxinyu:SmartJitpack:1.2.0'

[图片]

  1. 使用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")

异常解决

  1. 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/


相关链接

  1. 软件多语言文案脚本自动化方案
  2. Android Jitpack制作远程仓库aar流程

扩展链接:

  1. 项目开发混淆从初识到理解

博客书写不易,您的点赞收藏是我前进的动力,千万别忘记点赞、 收藏 ^ _ ^ !

这篇关于Android Jitpack制作远程仓库aar流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1102962

相关文章

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

使用Go实现文件复制的完整流程

《使用Go实现文件复制的完整流程》本案例将实现一个实用的文件操作工具:将一个文件的内容完整复制到另一个文件中,这是文件处理中的常见任务,比如配置文件备份、日志迁移、用户上传文件转存等,文中通过代码示例... 目录案例说明涉及China编程知识点示例代码代码解析示例运行练习扩展小结案例说明我们将通过标准库 os

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

java实现docker镜像上传到harbor仓库的方式

《java实现docker镜像上传到harbor仓库的方式》:本文主要介绍java实现docker镜像上传到harbor仓库的方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 前 言2. 编写工具类2.1 引入依赖包2.2 使用当前服务器的docker环境推送镜像2.2

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤