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

相关文章
|
2月前
|
Android开发
Android基于gradle task检查各个module之间资源文件冲突情况
Android基于gradle task检查各个module之间资源文件冲突情况
Android基于gradle task检查各个module之间资源文件冲突情况
|
2月前
|
Android开发
Android gradle task任务检查各个module之间资源文件冲突.md
Android gradle task任务检查各个module之间资源文件冲突.md
Android gradle task任务检查各个module之间资源文件冲突.md
|
2月前
|
Java Spring
Gradle 如何确保依赖的版本兼容性
Gradle 通过依赖管理机制确保版本兼容性,使用声明式配置定义项目依赖,自动解析和下载所需库。它支持版本范围和动态版本,通过冲突解决策略选择最佳版本,保证构建的一致性和可靠性。
170 3
|
2月前
|
Java Android开发 Windows
玩转安卓之配置gradle-8.2.1
为安卓开发配置Gradle 8.2.1,包括下载和解压Gradle、配置环境变量、修改配置文件以增加国内镜像,以及在Android Studio中配置Gradle和JDK的过程。
112 0
玩转安卓之配置gradle-8.2.1
|
3月前
|
Java Android开发 C++
🚀Android NDK开发实战!Java与C++混合编程,打造极致性能体验!📊
在Android应用开发中,追求卓越性能是不变的主题。本文介绍如何利用Android NDK(Native Development Kit)结合Java与C++进行混合编程,提升应用性能。从环境搭建到JNI接口设计,再到实战示例,全面展示NDK的优势与应用技巧,助你打造高性能应用。通过具体案例,如计算斐波那契数列,详细讲解Java与C++的协作流程,帮助开发者掌握NDK开发精髓,实现高效计算与硬件交互。
169 1
|
4月前
|
Java 调度 Android开发
Android经典实战之Kotlin的delay函数和Java中的Thread.sleep有什么不同?
本文介绍了 Kotlin 中的 `delay` 函数与 Java 中 `Thread.sleep` 方法的区别。两者均可暂停代码执行,但 `delay` 适用于协程,非阻塞且高效;`Thread.sleep` 则阻塞当前线程。理解这些差异有助于提高程序效率与可读性。
87 1
|
4月前
|
Android开发
Android Studio: 解决Gradle sync failed 错误
本文介绍了解决Android Studio中出现的Gradle同步失败错误的步骤,包括从`gradle-wrapper.properties`文件中获取Gradle的下载链接,手动下载Gradle压缩包,并替换默认下载路径中的临时文件,然后重新触发Android Studio的"Try Again"来完成同步。
1755 0
Android Studio: 解决Gradle sync failed 错误
|
4月前
|
Java 开发工具 Android开发
Android Studio利用Build.gradle导入Git commit ID、Git Branch、User等版本信息
本文介绍了在Android Studio项目中通过修改`build.gradle`脚本来自动获取并添加Git的commit ID、branch名称和用户信息到BuildConfig类中,从而实现在编译时将这些版本信息加入到APK中的方法。
97 0
|
2天前
|
安全 Java Kotlin
Java多线程——synchronized、volatile 保障可见性
Java多线程中,`synchronized` 和 `volatile` 关键字用于保障可见性。`synchronized` 保证原子性、可见性和有序性,通过锁机制确保线程安全;`volatile` 仅保证可见性和有序性,不保证原子性。代码示例展示了如何使用 `synchronized` 和 `volatile` 解决主线程无法感知子线程修改共享变量的问题。总结:`volatile` 确保不同线程对共享变量操作的可见性,使一个线程修改后,其他线程能立即看到最新值。