在JitPack上发布Android库

在JitPack上发布Android库

在JitPack上发布Android库其实非常简单,只需要在GitHub上发布一个Release,再用GitHub账号登录JitPack即可。
登录之后JitPack能读取你的GitHub账号下的仓库。这时选中你要发布的仓库,JitPack就会检查这个仓库下的Release并列出。选中刚才发布的Release,JitPack就会开始构建。构建成功后就能发布。

上面的步骤看起来非常简单,但是当你实际操作的时候就会发现,你可能经常会构建失败。尤其是对Gradle脚本不熟悉的话,就会出现各种异常。
下面将简单介绍如何配置Gradle脚本才能正常发布。

准备构建脚本

一般的Android App项目和Android库项目,都不是顶层Gradle项目。所以我们的改动针对的不是项目级build.gradle文件,而是子模块的构建脚本文件。

首先打开你要发布的库对应的模块的build.gradle,在android闭包下面添加afterEvaluate闭包:

afterEvaluate {
    publishing {
        publications {
            release(MavenPublication) {
                from components.release

                groupId = 'com.github.example'
                artifactId = 'example'
                version = '1.0.0'
            }
            debug(MavenPublication) {
                from components.debug

                groupId = 'com.github.example'
                artifactId = 'example'
                version = '1.0.0'
            }
        }
    }
}

在最上面的plugins闭包下添加id 'maven-publish'引入发布插件。
之后同步项目。确认同步能够顺利完成。

然后尝试运行gradle命令gradle publishToMavenLocal
如果这条命令能够正常运行的话,说明你的项目已经准备好发布了。

确认环境

但是不要着急,你需要检查你使用的gradle版本。如果你的gradle版本大于7,那么你还需要进行一个操作。
在项目根目录下新建文件jitpack.yml,打开这个文件,输入以下内容。

jdk:
  - openjdk11

因为JitPack默认使用JDK 1.8进行构建,而gradle 7以上版本不再支持JDK 1.8,需要JDK 11才能运行,所以我们需要设置让JitPack使用JDK 11来编译我们的项目。

如果你有demo子项目

一般来说,开发一个不能直接运行的Android库是比较困难的,因为你没有简单的办法运行你的库来查看效果,所以你可能会在当前项目下新建一个Android App子模块,用于演示和运行。但是在发布时,你可能不需要发布这个模块。

打开项目根的settings.gradle,你会看到如下内容:

rootProject.name = "ExampleProject"
include ':library'
include ':demo'

library就是我们要发布的Android库对应的子模块,demo则是不需要发布的演示App。我们只需要这样修改这段代码,即可让JitPack无视我们不需要发布的子模块:

rootProject.name = "ExampleProject"
include ':library'
if (!System.env.JITPACK) include ':demo'

提交,发布Release

当你完成这些修改之后,提交最新的代码,在GitHub中用最新的提交创建Release,就可以前往JitPack发布了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值