Android如何通过Gradle发布java依赖库(jar)到 jitpack 公共仓库(—)

简介: Android如何通过Gradle发布java依赖库(jar)到 jitpack 公共仓库(—)

作为一个码农,我们开发了很多项目,也积累了很多自己的通用依赖库,这些都是我们的项目积累,那么我们该如将自己的依赖库方便的集成到以后的项目开发中,或者共享给比人使用呢? 

是直接在后面的项目中通过依赖模块的方式, 还是直接将项目库打包成jar包,亦或者直接将代码copy到项目中,很显然这些方式都不够方便,也不够优雅。当然我们有更好的方案,那就是将代码发布到远程的中央仓库,对于中央仓库有很多有Jitpack、JCenter等。这里我们推荐一种最简单的发布方法:

通过github发布到Jitpack的方法,具体步骤如下:

分三步走:工程集成代码——>Github发布——>JitPack编译

一、代码集成:在项目工程(AndroidStudio创建的项目)中集成如下代码:

1. 项目根build.gradle中添加android-maven-gradle插件地方

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.0'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
    }
}

2. 在项目的根目录下添加 publishJavaLib.gradle文件, 内容如下 

apply plugin: "maven"
// 指定编码
tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

//指定生成的javadoc文档编码格式,防止javadoc中文乱码
tasks.withType(Javadoc) {
    options{
        encoding "UTF-8"
        charSet 'UTF-8'
        links "http://docs.oracle.com/javase/8/docs/api"
    }
}

group = 'com.github.itxiaox'
version '1.0.4'
sourceCompatibility = 1.8 // java 8
targetCompatibility = 1.8

repositories {
    mavenCentral()
}

task sourcesJar(type: Jar, dependsOn: classes) {
    classifier = 'sources'
    from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives sourcesJar
    archives javadocJar
}

3. 在需要发布的module中添加引用:

apply from:"../publishJavaLib.gradle"

注意:这里的工程是通过AndroidStudio建立的,采用的是Gradle脚本发布

第二步: github上面发布release版本

先将代码上传到GitHub 然后点击Tag——>Releases——>Draft a new Release 填写信息完成发布。

3、用GitHub账号登录JitPack(https://jitpack.io/),如下图

如何使用:

 至此已经成功发布完成,那么该如何使用呢,在上面的页面其实已经有How to use的描述了,如下所示

更完善一点,将描述写到github对应项目的README中,如下所示

 通过本文的描述的发布仓库还会生成相应的javadoc文档,文档访问地址:

https://javadoc.jitpack.io/com/github/<github账户名>/<仓库名>/<模块名>/<版本号>/javadoc/index.html

至此将自己的java libary库发布到jitpack上供他人使用的详细步骤介绍完毕,本文描述的所有步骤都是经过多次测试使用,拿来即用,希望能够帮助到您,如有不当之处还请指正,谢谢。

GitHub代码: utils

相关文章
|
3月前
|
Java Maven
java修改当前项目的maven仓库地址为国内
修改当前项目的maven仓库地址为国内
|
3月前
|
Java 关系型数据库 MySQL
基于java swing和mysql实现的仓库商品管理系统(源码+数据库+运行指导视频)
基于java swing和mysql实现的仓库商品管理系统(源码+数据库+运行指导视频)
|
3月前
|
XML Java 项目管理
java maven 和gradle哪种好
java maven 和gradle哪种好
156 0
|
6天前
|
Java 开发工具 Maven
Flutter和Android中覆盖gradle中的repositories仓库地址
Flutter和Android中覆盖gradle中的repositories仓库地址
33 4
|
6天前
|
安全 Java
Java模拟生产者-消费者问题。生产者不断的往仓库中存放产品,消费者从仓库中消费产品。其中生产者和消费者都可以有若干个。在这里,生产者是一个线程,消费者是一个线程。仓库容量有限,只有库满时生产者不能存
该博客文章通过Java代码示例演示了生产者-消费者问题,其中生产者在仓库未满时生产产品,消费者在仓库有产品时消费产品,通过同步机制确保多线程环境下的线程安全和有效通信。
|
21天前
|
存储 Java Serverless
Java Spring Boot应用如何实现推送代码到指定仓库并自动部署
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
Java 数据库连接 数据库
在Maven或者Gradle构建配置中添加了必要的依赖
在Maven或者Gradle构建配置中添加了必要的依赖
35 1
|
1月前
|
关系型数据库 MySQL 数据库连接
解决在eclipse2021中,用mysql-connector-java-8.0.18.jar不兼容,导致无法访问数据库问题
解决在eclipse2021中,用mysql-connector-java-8.0.18.jar不兼容,导致无法访问数据库问题
40 0
|
2月前
|
Java API 项目管理
Java一分钟之-Gradle插件开发:自定义构建逻辑
【6月更文挑战第5天】Gradle插件开发详解:从入门到发布。文章介绍如何创建自定义插件,强调依赖管理、任务命名和配置阶段的理解。示例代码展示插件实现及避免常见问题的方法。最后,讨论插件的发布与共享,助你提升构建效率并贡献于开发者社区。动手实践,打造强大Gradle插件!
86 3
|
2月前
|
Java Maven Kotlin
在 build.gradle.kts 添加 阿里云仓库
在 build.gradle.kts 添加 阿里云仓库
87 0