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

相关文章
|
1月前
|
Android开发
Android基于gradle task检查各个module之间资源文件冲突情况
Android基于gradle task检查各个module之间资源文件冲突情况
Android基于gradle task检查各个module之间资源文件冲突情况
|
1月前
|
Android开发
Android gradle task任务检查各个module之间资源文件冲突.md
Android gradle task任务检查各个module之间资源文件冲突.md
Android gradle task任务检查各个module之间资源文件冲突.md
|
25天前
|
安全 Java 网络安全
Android远程连接和登录FTPS服务代码(commons.net库)
Android远程连接和登录FTPS服务代码(commons.net库)
22 1
|
30天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
82 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
1月前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
1月前
|
Java Android开发 Windows
玩转安卓之配置gradle-8.2.1
为安卓开发配置Gradle 8.2.1,包括下载和解压Gradle、配置环境变量、修改配置文件以增加国内镜像,以及在Android Studio中配置Gradle和JDK的过程。
73 0
玩转安卓之配置gradle-8.2.1
|
人工智能 移动开发 Java
Android Studio插件版本与Gradle 版本对应关系
Android Studio插件版本与Gradle 版本对应关系
2344 0
Android Studio插件版本与Gradle 版本对应关系
|
存储 Java Android开发
Android 开发 - 充分利用Gradle
Android 开发 - 充分利用Gradle
170 2
|
5月前
|
C# Android开发 开发者
Android gradle编译时字节码处理
Android gradle编译时字节码处理
68 1
|
5月前
|
Android开发
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
276 0