[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)

最近把github上的代码都转移到了码云上,而且github上的仓库可以很方便的迁移到码云,所以老代码的迁移问题不用考虑。

之前使用 JCenter 发布了一个 GitHub 开源项目,JCenter整个流程很繁琐,相对于JCenter,JitPack发布非常的简单,所以最近几个项目都是发布到了 JitPack上。

由于技术原因,码云项目之前是不支持发布到JitPack的,具体是啥时候支持的笔者也知道,就是前几天打开JitPack,首页上就有提示:"We now support Gitee.com 码云"提示,笔者试着根据以前在Github上发布的流程,试了一遍,非常方便就发布了自己的项目。提示:目前AndroidStudio不支持插件maven自动化打包项目了,我们文章最后2022-3-10号更新了AndroidStudio自带的maven自动化打包方式,其他方式与文章介绍基本不变!

为什么要发布项目

以前在Eclipse时代要复用代码,需要把项目生成jar包放到开发项目的libs目录下或者把项目文件直接拷贝到Eclipse项目中然后引用项目,这样做不仅会导致jar包和项目难以管理,而且一旦涉及到依赖包升级的情况,就需要重新拷贝一次项目,使开发更加费时而且容易出错,所以就有JitPack和JCenter这类的网站出来,项目发布到他们平台后,我们只需要这样就能引用到项目:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第1张图片

 引用的项目升级,我们只需要修改后面的版本号即可。是不是非常的方便?

什么是JitPack

Easy to use package repository for Git
Publish your JVM and Android libraries

JitPack 是一个类似于 JCenter 和 MavenCentral 的仓库,流程简单,可以非常快捷的发布Github和Gitee开源项目,方便使用 Gradle 进行依赖管理。

下面介绍下怎么发布Gitee上的项目:

1. 必要的准备

1.在码云上生成私人令牌

为什么要生成私人令牌呢?因为JitPack需要获取码云的授权才能获取码云上的项目。

进入码云主页,点击右上角登录信息在菜单下选择设置选项:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第2张图片

在左侧的菜单中选择私人令牌选项:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第3张图片

 点击右上角生成新令牌按钮:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第4张图片

 设置私人令牌并创建,这里的私人令牌是一个字符串,请好好保管,关闭界面后令牌不会再显示,请妥善保管,请妥善保管,请妥善保管,重要的事前说三遍:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第5张图片

 生成完成后的私人令牌:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第6张图片

2. 在JitPack上设置私人令牌

先用你的Github账号登录JitPack:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第7张图片

登录后选择Settings菜单选项:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第8张图片

 设置私人令牌:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第9张图片

私人令牌设置成功后便可使用码云的开源项目了! 

2. Gitee上创建项目

在 Gitee上创建项目:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第10张图片

创建完成后会打开项目,因为当前项目是空白的,所以会显示以下的页面:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第11张图片

Gitee空白项目

3. Android项目配置

在Android项目上创建一个module。

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第12张图片

选择Android Library 

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第13张图片

填写Android Library相关信息

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第14张图片

完成后项目里面就会多了一个module,我这里用之前创建好的一个module举例

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第15张图片

 module中需要设置这几个地方:

1.需要设置工程的build.gradle文件,注意这里不是module的gradle文件也不是app的gradle文件,添加以下代码:

dependencies {
        //1.自动化maven打包插件
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
    }

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第16张图片

 2.在module的build.gradle文件中添加以下代码:

这里的group填写你的Gitee创库根目录

apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
group='com.gitee.xuqingcode'

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第17张图片

3.设置gradle插件版本和gradle版本对应关系

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第18张图片

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第19张图片

在官网上找了gradle插件和gradle版本对应的关系,有内容随时更新:

插件版本 所需的 Gradle 版本
1.0.0 - 1.1.3 2.2.1 - 2.3
1.2.0 - 1.3.1 2.2.1 - 2.9
1.5.0 2.2.1 - 2.13
2.0.0 - 2.1.2 2.10 - 2.13
2.1.3 - 2.2.3 2.14.1+
2.3.0+ 3.3+
3.0.0+ 4.1+
3.1.0+ 4.4+
3.2.0 - 3.2.1 4.6+
3.3.0 - 3.3.2 4.10.1+
3.4.0+ 5.1.1+

如果不对应,上传到JitPack有可能编译时会出现如下错误: 

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第20张图片

4. 上传项目代码到Gitee

把本地的Android Library 项目使用 Git 上传到 Gitee,具体的 Git 操作可以按照项目页面中的提示进行,不再赘述。

Git 命令可以参考笔者之前写的一篇文章:Git命令大全

5. 创建项目的 发行(Release)版本

需要创建项目的发行版本才能上传到 JitPack。

创建的方式有两种:
1. 使用 Git 添加标签 tag,并且提交到 Gitee

git tag -a  -m 
git push --tags

操作完后即可在 Gitee 的项目中看到新创建的发行版本:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第21张图片

查看发行版本

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第22张图片

发行的版本信息

2. 在Gitee项目中创建发行版本

在 Gitee 的项目中点击 "发行版" 标签栏:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第23张图片

点击发行版标签栏

在页面的右上角点击 "创建发行版" 按钮,进入到创建 发行版本的页面:

点击创建发行版本

填写必要的信息,即可创建一个新的 发行版本:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第24张图片

6. 发布项目到JitPack

进入 JitPack,使用 GitHub 账号登录

把项目的地址填写到首页的输入框中,点击 "Look Up" 按钮即可自动进行发布:

当项目代码上传到Gitee创建发行版后,点击JitPack的“Look Up”按钮会需要等待一段时间后才会有版本的显示,因为JitPack需要从Gitee上获取发行版代码zip文件,然后解压编译,所以请耐心等待数十秒。

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第25张图片

Look up

发布成功后显示如下图:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第26张图片

发布成功

点击 Log 下的图标可以查看 build 的日志。

点击 "Get it" 可以查看 Gradle 的依赖配置说明,如下图:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第27张图片

Gradle依赖说明

完成上述步骤后即完成了开源 Library 的发布,对比 JCenter 的发布流程简化了不少,使用起来非常的方便。

提示:2022-3-10号文章更新部分如下:

需要去掉的内容:

1.需要去掉自动化maven打包插件,不去掉会打包报错

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第28张图片

2.需要在你项目的build.gradle去掉这里的maven相关引入。

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第29张图片

 需要更改的内容

1.需要在你项目的根目录添加jitpack.yml文件,这个用户在jitpack发布打包时指定jdk编译版本,不指定可能会报jdk版本不符的打包错误,文件名必须为:jitpack.yml。文件内容以及格式如下:

 2.需要在你模块的build.gradle文件里添加:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第30张图片

 3.需要在你模块的build.gradle文件android{}同级下添加:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第31张图片

 可以直接复制:

afterEvaluate {
    publishing {
        publications {
            // Creates a Maven publication called "release".
            release(MavenPublication) {
                // Applies the component for the release build variant.
                from components.release

                // You can then customize attributes of the publication as shown below.
                groupId = 'site.xuqing.appbus'
                artifactId = 'final'
                version = '1.0.0'
            }
        }
    }
}

4.多模块打包(更新时间:2022.3.15

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第32张图片

那么,像上面图片中展示的那样,当一个项目中有多个lib需要打包时该如何设置呢?

其实很简单,关键在你模块的的build.gradle里面设置:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第33张图片

每个模块设置不同的artifactId即可。

不同的artifactId会生成不同的模块引用,看我这个自动辅助框架的引用就是这样子:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第34张图片

5.如何查看我们打包的依赖地址(更新时间:2022-3-25

在jitpack.io你当前打包的项目中查看编译log,如图:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第35张图片

 点进去查看log:

[Android] 发布码云(Gitee)项目到JitPack(最全完整流程)_第36张图片

 

至此,项目基本配置完成,然后你就可以上传你的代码,尽情的发布版本了,具体在发布中遇到什么问题,欢迎回复讨论!


著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(android,android)