发布Android依赖到 Jitpack(包含图片等资源文件的,也可以使用当前的配置进行发布)

      在网络上的文章,大多数都是比较早的,而且 gradle 版本都是采用旧的,可以使用到 com.github.dcendents:android-maven-gradle-plugin:2.1 ,但是我们采用了 gradle 版本到 7.0 之后,这些就不适用了,而且坑很多,我创建了多个项目进行尝试,都是都失败了,也是根据网络上的配置了jitpack.yml 文件,去指定在 jitpack 需要编译的jdk版本,可是还是失败(不知道是不是第一次提交失败了,jitpack 有缓存,后续无论怎么更改都失败,不过我觉得应该不是这个问题吧,不然jitpack就太low)。好,废话就不多说,下面开始我们创建自己的发布依赖之旅吧。
我其中参考了:
Jitpack.io ERROR: No build artifacts found一路踩坑的解决【Gradle 7.0+,Kotlin 1.5+】(跟着这个,新建项目,可以成功)
你会在 JitPack 上创建依赖库吗?(我当时尝试,失败后,一直无法成功,不知道是不是真的 jitpack 有缓存)
Android发布依赖库详解(这个使用的是旧的,就是使用 classpath'com.github.dcendents:android-maven-gradle-plugin:2.1' 这种的,我们新的回使用官方的 maven-publish)
Android官方mven-publish使用示例

当前教程,成功发布的源码:
https://github.com/HZHAndroid/HelloPublish

一、我发布的时候的,Android 项目上的配置如下:



gradle配置

   1、我的gradle版本是 gradle-7.0.2(项目根目录->gradle->wrapper->gradle-wrapper.properties)
        distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
   2、gradle 的插件版本 (项目根目录->build.gradle)
        classpath"com.android.tools.build:gradle:7.0.0-beta05"
   3、jdk 采用 1.8.0_221 (这个我们本地的不影响 jitpack 编译,到时候通过 jitpack.yml 去指定编译的 jdk 版本就可以了,提示:jitpack 默认是采用 1.8 的jdk进行编译的)
   4、Android Studio Arctic Fox | 2020.3.1 Beta 5

要求:
1、需要有 jitpack 账号,可以去jitpack官网自行注册
2、需要有 github 账号 或者是 码云 gitee 账号,可以去码云titee或者github自行注册

二、开始项目的创建和需要发布的依赖库的配置

最终完成好的项目

   1、创建项目(HelloPublish)
        这里基本上不断下一步,最后finish就可以了。
   2、创建我们需要发布的依赖(hellolib)
        1)这里选择 【Android Library】表示这是一个库,然后截图上是 hellolib1 ,是因为我项目中原本就存在 hellolib,所以没有办法同名

创建module的操作截图

   3、配置我们创建的 hellolib 的发布配置:
        1)打开hellolib 目录下的 build.gradle 文件,在 plugins{} 标签中加入 id 'maven-publish',同时加入
           task generateSourcesJar(type: Jar){

               from android.sourceSets.main.java.srcDirs

              classifier  'sources'
         }
       这个方法,具体的如图:

hellolib的发布插件引入

2)在hellolib的build.gradle 加入 截图所示配置,

发布的配置

完整的配置信息,如下:
HelloPublish的hellolib的build.gradle

3) 在我们的 hellolib 里面创建随意一个类,发布成功后,可以使用来测试的,我这创建了
interface ICallback<T> {} 接口,也加入了图片和字符串资源,都是利用来测试的。如图:

创建测试类和图片以及字符串资源

三、将代码同步到 github 上。分别执行一下命令:

1)echo "”>>README.md
     git init
     git add .
     git commit -m "first commit"
     git remote add origin https://github.com/HZHAndroid/HelloPublish.git
     git push -u origin master

注意:github 现在推送代码,是采用了 token 的形式,可以去后端生成 token,然后去 android studio 等工具使用,否则无法提交代码,原本的密码账号的形式,已经被废弃了。
可以查看:github 生成token的方法
2)代码同步完成后,我们就去创建一个 release 版本,如图:

创建release版本1

点击图上圈着的Release按钮,就会跳转到创建页面,如果非第一次创建,可以看到如下页面,点击【Draft a new release】按钮去创建一个版本。

版本列表

创建一个发布版本:
Choose a tag:创建/选择一个标签(其实就是版本号)
Target: main :这里是需要发布的代码的分支
Release title:发布的标题
Write:版本描述
This is a pre-release:当前是否一个预发布版本,一般不用勾选
Publish release:发布
Save draft:保存草稿

创建号版本后,就会回到发布列表了,接着,我们就去 jitpack 发布。

发布表单

四、将我们代码关联到 jitpack,生成依赖库。

1、在github上,对如图圈着的链接(https://github.com/HZHAndroid/HelloPublish 或者 https://github.com/HZHAndroid/HelloPublish.git)的其中一个进行复制即可,

在github复制代码链接

2、进入 https://jitpack.io/ ,然后把我们复制的代码链接,填充到输入框中,接着点击 【Loop up】 按钮,接着可以看到你github上,最新的几个版本在这里(我这里是因为我之前上传过,所以有这么多),分别点击右侧的【Get it】按钮,加入没有 loading,则多点几次,刷网页也可以。

复制链接到jitpack


版本编译的结果

如【版本编译的结果】图片上显示的,我这里的 v1.2、v1.3、v1.4 左边的文档图标是红色的,表示当前版本编译失败,点击文档图标,可以查看失败的原因,而 v1.5、v1.6 左边的图标是绿色的,说明编译编成功,成功后的版本是可以被依赖的。

依赖的方法,如下图:但是  implementation 'com.github.HZHAndroid:HelloPublish:Tag' 中的 Tag, 改为你想要依赖的版本,如我依赖最新版本,
implementation 'com.github.HZHAndroid:HelloPublish:v1.6'

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容