【JitPack】发布一个你自己的 Android 依赖库

article/2025/9/20 22:11:48

文章目录

  • 背景
  • 步骤
    • 新建 Android Library 项目
    • 配置 Gradle
    • 提交项目到 github
    • Pull Request 到主分支
    • 创建 tag 并发布 release 版本
    • JitPack 生成项目的依赖库
    • 第三方应用集成使用依赖库
  • JitPack 生成依赖库的 pom.xml 文件地址
  • 参考链接

背景


最近突然想开发个 Android Library,提供 Android 依赖库给其他开发者简单使用。

前期踩坑略多,这里做个记录。

步骤

新建 Android Library 项目


新建一个 Project 工程,再新建一个 Library 模块 taostfree。项目结构如下:

在这里插入图片描述
githubzouqi/toastfree 工程地址

有疑问的同学可以查看工程结构,这里就不细说了。

配置 Gradle


  • toastfree 模块下的 build.gradle 文件中添加 maven-publish 插件
plugins {id 'com.android.library'id 'maven-publish'
}
  • 添加上传方法(官方建议)
dependencies {implementation fileTree(dir: 'libs', include: ['*.jar'])...
}afterEvaluate {// 官方建议使用上传方法publishing {publications {// Creates a Maven publication called "release".release(MavenPublication) {from components.release // 表示发布 release(jitpack 都不会使用到)groupId = 'com.github.githubzouqi' //groupId 随便取 , 这个是依赖库的组 idartifactId = 'toastfree'  //artifactId 随便取 , 依赖库的名称(jitpack 都不会使用到)version = '1.0.5' // 当前版本依赖库版本号,这个jitpack不会使用到,只是我们开发者自己查看}}}
}

这里没啥可说的,上面注释已经写的很详细。

  • 完整 gradle 配置
plugins {id 'com.android.library'id 'maven-publish'
}android {compileSdkVersion 30buildToolsVersion "30.0.2"defaultConfig {minSdkVersion 19targetSdkVersion 30versionCode 1versionName "1.0"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"consumerProguardFiles 'consumer-rules.pro'}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}}dependencies {implementation fileTree(dir: 'libs', include: ['*.jar'])implementation 'com.android.support:appcompat-v7:28.0.0'testImplementation 'junit:junit:4.12'androidTestImplementation 'com.android.support.test:runner:1.0.2'androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}afterEvaluate {// 官方建议使用上传方法publishing {publications {// Creates a Maven publication called "release".release(MavenPublication) {from components.release // 表示发布 release(jitpack 都不会使用到)groupId = 'com.github.githubzouqi' //groupId 随便取 , 这个是依赖库的组 idartifactId = 'toastfree'  //artifactId 随便取 , 依赖库的名称(jitpack 都不会使用到)version = '1.0.5' // 当前版本依赖库版本号,这个jitpack不会使用到,只是我们开发者自己查看}}}
}

提交项目到 github


这个也是比较简单,同学们自己根据实际来提交即可。

我这里是已经提交过了,说下我的操作:关联远程库,提交到暂存区,拉取远端开发分支(我这里是 dev)到本地,然后合并,合并成功后再 push 到远端开发分支即可。

在这里插入图片描述
上面是我通过 Git Bash 的一次完整的提交过程,仅供参考。

Pull Request 到主分支


后面是通过给主分支创建 tag 分支,打 release 包。所以我这里会先拉取一下从 dev 分支到主分支的请求。

熟悉 github 的同学也比较了解,这里不多细说。

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面就是一次完整的 pull requests,仅供参考。

创建 tag 并发布 release 版本


我这里创建 tag 使用 github 做演示,同学们熟悉 git 命令的可以使用命令进行创建。

  • 进到 release 打包页。如下图:
    在这里插入图片描述
    在这里插入图片描述

这里能看到所有打过的 release 版本信息。

  • 新建 tag 并发布 release
    在这里插入图片描述
    在这里插入图片描述

输入新分支名称后点击回车,即可创建 tag v1.0.6 。

在这里插入图片描述

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

到这里就完成了 github 相关的 release 打包操作。

JitPack 生成项目的依赖库


打开 JitPack 官网 https://jitpack.io/,输入项目地址。点击 Look Up,然后等待 builds 完成后生成库依赖。

在这里插入图片描述

等待 Get it 按钮变成绿色后,就表示生成库依赖成功了。

在这里插入图片描述

使用也比较简单,如下:

在这里插入图片描述

第三方应用集成使用依赖库


  • project 下的 build.gradle 文件中配置
allprojects {repositories {...maven{ url 'https://jitpack.io' }}
}

在这里插入图片描述

  • 模块下的 build.gradle 中添加依赖
dependencies{...implementation 'com.github.githubzouqi:ToastFree:v1.0.6'
}

然后 sync 重新构建一下项目,成功后可以发现依赖添加成功了。

在这里插入图片描述

  • MainActivity.java 中使用依赖库
    在这里插入图片描述
    上面说明依赖库成功添加,可以使用库里的 api

JitPack 生成依赖库的 pom.xml 文件地址

https://javadoc.jitpack.io/com/github/{github用户名}/{github项目名}/

在这里插入图片描述
输入对应的版本路径即可查看对应版本库里的所有文件(也包括 pom.xml 文件)。

参考链接


JitPack > Android

发布Android库到Jitpack,只需三步

使用jitpack发布你自己的依赖库

gradle7.0.2如何发布jitpack开源项目

关于Jitpack发布aar,会丢失内置依赖库问题


技术永不眠!我们下期见!


http://chatgpt.dhexx.cn/article/mj8PAbFL.shtml

相关文章

Android私有库gitee发布到JitPack后,编译通过但依赖不到。

JitPack编译通过后点击查看log只有这个: Subscription is not active right now Requested subscription: gitee.com/huile_1_0. Your subscriptions are listed in https://jitpack.io/w/user Please contact Support or repository admins if you need assistanc…

JitPack让第三方依赖更简单(第一种方法)

前面我们讲了如何将我们开发常用的工具发布到jcenter,然后进行依赖,这样有利于提高开发的效率,但是,又出现了一种新的发布方式,虽然现在使用的人还没有jcenter多,但是个人感觉未来使用的人会超过jcenter&am…

Android自定义library上传到JitPack

一、背景 最近公司不是太忙,闲的无聊,准备整理下属于自己的library库,想把自己平时用到的库保存起来到JitPack上,用的时候直接依赖添加。下面是我们把library发布到JitPack上去的记录过程。 二、项目配置 1.版本不同配置方法有些不…

maven { url “https://jitpack.io“ }

maven { url "https://jitpack.io" } 不能写在项目的build.gradle里面,要写在项目的setting.gradle

AndroidStudio之https://jitpack.io

前言 很多小伙伴自己写了一个库,打算开源出来,但是直接给别人发jar包或者aar包,别人使用都很不方便,而且版本更新也不方便,所以很多小伙伴把开源库放到了远程仓库里(如maven或jcenter),但是麻烦就麻烦在需要打包导出等。 而今天我要推荐一个超级方便的远程仓库:https://jitpa…

Android 发布代码到github 并且部署到 JitPack maven 仓库详细步骤

废话不多说,直接上步骤干货 Step1 在项目根目录的build.gradle 文件中加入 buildscript {repositories {maven { url https://jitpack.io }}dependencies {classpath com.github.dcendents:android-maven-gradle-plugin:2.1} }allprojects {repositories {maven {…

JitPack让第三方依赖更简单(第二种方法)

文章目录 前言步骤使用结语 每日一句正能量 如果青春是醺人欲醉的海风,那么自信就是这和风前行的路标,如果青春是巍峨入云的高耸,那么拼搏就是这山脉层层拔高的动力;如果青春是高歌奋进的谱曲,那么坚强就是这旋律奏响的…

发布开源库的踩坑经历:jitpack.io

前言 很多小伙伴自己写了一个库,打算开源出来,但是直接给别人发jar包或者aar包,别人使用都很不方便,而且版本更新也不方便,所以很多小伙伴把开源库放到了远程仓库里(如maven或jcenter),但是麻烦就麻烦在需要打包导出等。 而今天我要推荐一个超级方便的远程仓库:JitPack | Pub…

maven { url ‘https://www.jitpack.io‘ }在新版Android Studio中的位置

Android Studio升级到Arctic Fox后,一些配置项的位置都做了改变。 github上的很多库通过JitPack.io发布的,引用这些库时,除了在模块的build.gradle文件中加入依赖,还要在项目的build.gradle文件中加入maven { url ‘https://www.j…

真香警告~JitPack 开源库集成平台

文章目录 前言简介使用场景:一、准备工作1.1 生成私人令牌1.2 在JitPack中配置 Gitee 访问权限 二、准备Gitee 码云项目2.1 将本地的开发项目上传到 Gitee仓库2.2 为源码仓库创建 发行(Release)版本 三、开源库集成JitPack3.1 进入 JitPack,使…

基于新版本Gradle上传jitpack开源项目

因为新版本的gradle编译开源库的方法已经变了,所以这边记录下 1.第一步创建一个空项目 2.因为这样会创建出来一个app项目,我们上传git是不需要这个的,所以我们在 项目中setting.gradle目录下注释掉 app模块,然后就可以手动删除…

Android 上传代码到gitee并发布到Jitpack生成远程库

# 一创建项目 查看toollibrary主要配置 这里附上关键代码 plugins {id com.android.libraryid org.jetbrains.kotlin.androidid maven-publish } task generateSourcesJar(type: Jar) {from android.sourceSets.main.java.srcDirsclassifier sources } afterEvaluate {publish…

jitpack 介绍

2019独角兽企业重金招聘Python工程师标准>>> jitpack 一个有意思的工具, 可以从github、码云根据commitId、tag 生成maven依赖,减少代码下载、打包等步骤。工具地址 https://jitpack.io/ 转载于:https://my.oschina.net/u/2000646/blog/2966…

你会在 JitPack 上创建依赖库吗?

为什么写 看见标题有人可能会轻蔑一笑,多简单个事?还至于专门写一篇文章吗? 我之前也以为挺简单的,因为之前自己也上传过,但是前几天的经历告诉我没有那么简单,特别是现在安卓 Gradle 升级到 7.0 之后。。…

Jitpack使用指南:maven-publish如虎,jitpack如翼 【安卓Java组件化模块化】【更多gradle技巧】

上文总结了三种多模块开发的方法。 第一种:在setting.gradle中定义子模块然后 api Project(:...),直接引用 。第二种,使用 maven-publish 部署至本地仓库第三种,使用 jitpack.io 等部署至远程服务器 我的第一个开源项目就依次用…

使用jitpack发布你自己的依赖库

如何优雅的让其他开发者使用我们的库。 我们经常通过gradle导入第三方库,那么我们自己的库如何提供给其他开发者使用?下边我们分别介绍使用jitpack、mavenCentral(以前叫JCenter)来发布我们的库。 在使用前,我们先了解…

JitPack的使用

JitPack的使用 1 JitPack简介2 JitPack使用1 上传代码到仓库,并创建一个release2 进入JitPack官网首页,输入仓库地址,点击Look up3 点击Get it按钮,下面生成maven仓库和依赖4 在项目的pom文件中添加上面两个依赖 3 总结 JitPack官网 官网文档 参考资料: https://blog.csdn.n…

一文详解jitpack多渠道maven库发布

先说一下,为什么会有这篇文章? 最初接触 JitPack 时,发现网络上大量涉及JitPack的教程不可用。通过两天的研究才搞明白: 1.不同的gradle版本,gradle api使用方式 与 JitPack配置方式均有所差异:使用JitPack…

【红黑树】二叉树的改进---红黑树|平衡二叉树和红黑树的区别

目录 二叉树的改进---红黑树 红黑树和AVL树(平衡二叉树)区别 确实是AVL(平衡二叉树)更严格(左右子树树高不超过1), 红黑树只保证最长路径不超过最短路径的2倍 二叉树的改进---红黑树 这个是一个 小灰程序…

红黑树是怎么实现的,看这篇真的就够了!

大家好,我是鸭血粉丝,又是一个元气满满的周一,今天带大家一文搞懂红黑树,友情提示:本文较长,建议先收藏再观看。 红黑树由来:在1972年由Rudolf Bayer发明的,当时被称为平衡二叉B树&…