Android将自己写的maven库上传至jitpack(2024靠谱版)

浏览了一堆陈年旧贴,终于实验成功了

      • 第一步 将自建空项目同步至github并保证能正常运行
      • 第二步新增一个library类型的modul
      • 第三步 在新建的library里面写一些测试用的代码
      • 第四步在library的gradle文件增加插件和发布脚本
      • 第五步新建一个配置文件
      • 第六步 把所有更改push到github
      • 第七步 github publish
      • 第八步 在jitpack打包上线
      • 第九步 测试

第一步 将自建空项目同步至github并保证能正常运行

注意点:工程的名字是以后依赖库的名字,以后引依赖的时候就是酱婶儿的
在这里插入图片描述

即使名字帅的掉渣,但是为了以后使用者更方便理解,建议命名成和功能相关的名字,本崽把依赖库名字先命名成了yz-utils
在这里插入图片描述

第二步新增一个library类型的modul

这个modul里面就放以后依赖库的代码了。

在这里插入图片描述
在这里插入图片描述

第三步 在新建的library里面写一些测试用的代码

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c56f7773967c40c08693cdd1a47f6e54.png

第四步在library的gradle文件增加插件和发布脚本

plugins {
    id 'maven-publish'
}
afterEvaluate {
    android.libraryVariants.each {variant->
        publishing.publications.create(variant.name,MavenPublication){
            from components.findByName(variant.name)
            groupId = 'com.yangzaiarea'//自定义
            artifactId = 'yzutils'//自定义
            version = '1.0.0'//自定义
        }
    }
}

两个代码块都是和android{}平级,不用放在里面

第五步新建一个配置文件

在工程的根目录新建一个名为jitpack.yml的文件
在这里插入图片描述
文件的内容写上工程用的jdk的版本,平时可以正常编译运行的是哪个版本就写哪个版本,避免出错

jdk:
  - openjdk17

第六步 把所有更改push到github

在这里插入图片描述

第七步 github publish

在这里插入图片描述
在这里插入图片描述
没有发布过版本的话这个按钮会在中间。

在这里插入图片描述
点这里

在这里插入图片描述
录入一个版本号,按回车提交,这个版本号就是以后依赖的版本像这样
在这里插入图片描述

接下来录入标题和备注,点击提交。这里硬性要求不多,为了方便回顾版本,可以写的清晰一点。

在这里插入图片描述

第八步 在jitpack打包上线

https://jitpack.io/

到这个网站,登录github账号
框框里写入自己项目的github链接,也可以点击左侧的工程名,就可以看见在当前工程下发布的库,点击getit,开始编译,编译完成后有两种结果,log下面是绿色图标表示成功,就可以进入引入依赖测试阶段了,如果是红色,可以点击图标查看log日志,看看具体是什么报错,在本崽处理这里面部分报错的时候,发现网上资料很少,所以只能一遍遍检查自己的流程,找新的贴,再尝试,再报错,再尝试~(o(╥﹏╥)o)
在这里插入图片描述
这里完成之后就可以进入最终的测试阶段了。

第九步 测试

在这里插入图片描述
这里就简单了,平时咋引还咋引,Tag就是release的时候录入的版本号。
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/03abd6bde8b648688f1c9fc283226bb3.png

成功!谢看!告辞~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/447443.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

面试题:分布式锁用了 Redis 的什么数据结构

在使用 Redis 实现分布式锁时,通常使用 Redis 的字符串(String)。Redis 的字符串是最基本的数据类型,一个键对应一个值,它能够存储任何形式的字符串,包括二进制数据。字符串类型的值最多可以是 512MB。 Re…

基于java+springboot+vue实现的火车票订票系统(文末源码+Lw)294

摘要 火车票订票系统可以对火车票订票系统信息进行集中管理,可以真正避免传统管理的缺陷。火车票订票系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计&#xf…

SaulLM-7B: A pioneering Large Language Model for Law

SaulLM-7B: A pioneering Large Language Model for Law 相关链接:arxiv 关键字:Large Language Model、Legal Domain、SaulLM-7B、Instructional Fine-tuning、Legal Corpora 摘要 本文中,我们介绍了SaulLM-7B,这是为法律领域量…

Keepalived+LVS构建高可用集群

目录 一、Keepalive基础介绍 1. Keepalive与VRRP 2. VRRP相关技术 3. 工作原理 4. 模块 5. 架构 6. 安装 7. Keepalived 相关文件 7.1 配置组成 7.2 全局配置 7.3 VRRP实例配置(lvs调度器) 7.4 虚拟服务器与真实服务器配置 二、Keepalived…

用*把棱形画出来

输入一个整数n表示棱形的对角半长度&#xff0c;请你用*把这个棱形画出来。 输入&#xff1a;1输出&#xff1a;*输入&#xff1a;3输出&#xff1a;**** *********输入输出格式 输入描述: 输入一个整数n&#xff08;n < 10&#xff09;。 输出描述: 按题目要求输出字符棱…

Jobs Portal求职招聘系统源码v3.5版本

源码介绍: Jobs Portal 求职招聘系统 是为求职者和公司发布职位而开发的交互式求职招聘源码。它使求职者能够发布简历、搜索工作、查看个人工作列表。它将提供各种公司在网站上放置他们的职位空缺资料&#xff0c;并且还可以选择搜索候选人简历。除此之外&#xff0c;还有一个…

Jupyter Notebook使用教程——从Anaconda环境构建到Markdown、LaTex语法介绍

0. 前言 按照国际惯例&#xff0c;首先声明&#xff1a;本文只是我自己学习的理解&#xff0c;虽然参考了他人的宝贵见解及成果&#xff0c;但是内容可能存在不准确的地方。如果发现文中错误&#xff0c;希望批评指正&#xff0c;共同进步。 你是否在视频教程或说明文档或Githu…

TC7.0简单编程十六进制跟十进制转化函数

写脚本的时候&#xff0c;没用内存的功能什么的&#xff0c;基本跟十六进制用得都比较少。最近因为易语言的一个代码要转化过来&#xff0c;看到易语言里面有现成的函数 16到10 跟10 到16&#xff0c;就想着TC是否也有这样的函数。找来找去没找到。其实TC也有这样的函数来的。藏…

misc49

下载附件是个txt文件&#xff0c;打开发现是个压缩包的头 后缀改成zip后打开 base解码无果&#xff0c;我们尝试字母解码 然后音符解码得到 ❀✿✼❇❃❆❇✿❁❇✻✿❀✾✿✻❀❊❆❃❀❊✻❅❀❄✼❂❊❊✾❇❁✽✽✼❁❂❀❀❀❉❃❂❀❉❃❂❊❊✾✼✻✻❀❆✻✻❀❀✻✻✿…

C#MQTT编程10--MQTT项目应用--工业数据上云

1、文章回顾 这个系列文章已经完成了9个内容&#xff0c;由浅入深地分析了MQTT协议的报文结构&#xff0c;并且通过一个有效的案例让伙伴们完全理解理论并应用到实际项目中&#xff0c;这节继续上马一个项目应用&#xff0c;作为本系列的结束&#xff0c;奉献给伙伴们&#x…

Visual Studio单步调试中监视窗口变灰的问题

在vs调试中&#xff0c;写了这样一条语句 while((nfread(buf, sizeof(float), N, pf))>0) 然而&#xff0c;在调试中&#xff0c;只要一执行while这条语句&#xff0c;监视窗口中的变量全部变为灰色&#xff0c;不能查看&#xff0c;是程序本身并没有报错&#xff0c;能够继…

简单了解一个数据包在网络的一生

在主题之前&#xff0c;我想先谈谈目前计算机的网络模型&#xff0c;主要谈谈 TCP/IP 模型&#xff1a; 应用层&#xff1a;产生最原始的数据&#xff0c;常见协议如 http、ftp、websocket、DNS、QUIC 传输层&#xff1a;传递应用层的数据给网络层&#xff0c;必要时进行切割&…

[Angular 基础] - 表单:响应式表单

[Angular 基础] - 表单&#xff1a;响应式表单 之前的笔记&#xff1a; [Angular 基础] - routing 路由(下) [Angular 基础] - Observable [Angular 基础] - 表单&#xff1a;模板驱动表单 开始 其实这里的表单和之前 Template-Driven Forms 没差很多&#xff0c;不过 Tem…

从16-bit 到 1.58-bit :大模型内存效率和准确性之间的最佳权衡

通过量化可以减少大型语言模型的大小&#xff0c;但是量化是不准确的&#xff0c;因为它在过程中丢失了信息。通常较大的llm可以在精度损失很小的情况下量化到较低的精度&#xff0c;而较小的llm则很难精确量化。 什么时候使用一个小的LLM比量化一个大的LLM更好? 在本文中&a…

C 嵌套循环

C 语言允许在一个循环内使用另一个循环&#xff0c;下面演示几个实例来说明这个概念。 语法 C 语言中 嵌套 for 循环 语句的语法&#xff1a; for (initialization; condition; increment/decrement) {statement(s);for (initialization; condition; increment/decrement){s…

Java项目修改源码jar文件(无需反编译)

文章目录 应用场景实现方案实现原理注意事项 应用场景 在项目中用了第三方的jar包&#xff0c;但是jar包内某个类不符合项目业务需求&#xff0c;需要修改第三方jar包源码文件内容。 实现方案 首先我们尝试直接修改jar包源码文件内容时&#xff0c;页面上会提示文件是只读的&a…

【Java】生成条形码工具类

报销单需要根据单号生成条形码 先看效果图 直接上代码&#xff0c;复制即可使用 /*** Description:生成条形码*/ public class BarCodeUtils {/*** 默认图片宽度*/private static final int DEFAULT_PICTURE_WIDTH 300;/*** 默认图片高度*/private static final int DEFAULT_…

Python SSH协议库之paramiko使用详解

概要 在网络编程中,远程操作是一项非常常见的需求,特别是在服务器管理和自动化任务执行方面。Python提供了许多库来实现远程操作,其中Paramiko是一个备受欢迎的选择。Paramiko是一个纯Python编写的SSH协议库,它提供了一种简单而强大的方式来执行远程命令、上传和下载文件等…

Consul服务注册与发现

Consul服务注册与发现 1、为什么不再使用传统的Eureka&#xff1f; Eureka停更进维护&#xff1b;Eureka对初学者还是不太友好的&#xff0c;它还有自我保护模式&#xff1b;注册中心独立且与微服务各功能解耦是大势所趋&#xff0c;目前主流服务中心&#xff0c;希望单独隔离…

深入理解java之网络编程

目录&#xff1a; 网络编程基本概念计算机网络网络通信协议数据封装与解封IP地址TCP协议和UDP协议 Java网络编程中的常用类InetAddress的使用InetSocketAddress的使用URL的使用TCP通信的实现和项目案例TCP通信入门案例UDP通信的实现和项目案例UDP通信入门案例 网络编程基本概念…