发布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 {} 接口,也加入了图片和字符串资源,都是利用来测试的。如图:

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

三、将代码同步到 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'

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