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

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

2000元阿里云代金券免费领取,2核4G云服务器仅664元/3年,新老用户都有优惠,立即抢购>>>


阿里云采购季(云主机223元/3年)活动入口:请点击进入>>>,


阿里云学生服务器(9.5元/月)购买入口:请点击进入>>>,

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

是直接在后面的项目中通过依赖模块的方式, 还是直接将项目库打包成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

?

相关文章
|
4天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
51 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
4天前
|
Java Maven
向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录(一)
向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录
18 0
|
3天前
|
监控 安全 API
orhanobut/logger - 强大的Android日志打印库
orhanobut/logger - 强大的Android日志打印库
10 1
|
3天前
|
缓存 IDE Java
Java一分钟之-Gradle:构建自动化工具
【5月更文挑战第16天】本文介绍了Gradle,一个基于Groovy的灵活构建工具,强调其优于Maven的灵活性和性能。文中通过示例展示了基本的`build.gradle`文件结构,并讨论了常见问题:版本冲突、缓存问题和构建速度慢,提供了相应的解决策略。此外,还提醒开发者注意插件ID、语法错误和源代码目录等易错点。掌握这些知识能提升开发效率,使构建过程更顺畅。
21 2
|
3天前
|
安全 Java Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【5月更文挑战第16天】 在移动开发领域,性能一直是开发者关注的焦点。随着Kotlin语言的普及,其与Java在Android应用中的性能表现成为热门话题。本文将深入分析Kotlin和Java在Android平台上的性能差异,并通过实际测试数据来揭示二者在编译速度、应用启动时间以及运行效率方面的表现。我们的目标是为开发者提供一个参考依据,以便在选择合适的编程语言时做出更加明智的决策。
|
4天前
|
定位技术 Android开发
Android 12蓝牙报java.lang.SecurityException: Need android.permission.BLUETOOTH_CONNECT permission
Android 12蓝牙报java.lang.SecurityException: Need android.permission.BLUETOOTH_CONNECT permission
7 1
|
4天前
|
Java Go Maven
向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录(二)
向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录
13 0
|
4天前
|
Java API 开发工具
java与Android开发入门指南
java与Android开发入门指南
16 0
|
4天前
|
Android开发 C++
Android S HAL库的编译
Android S HAL库的编译
12 0
|
4天前
|
安全 Linux Android开发
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
该文介绍了如何在Linux服务器上交叉编译Android的FFmpeg库以支持HTTPS视频播放。首先,从GitHub下载openssl源码,解压后通过编译脚本`build_openssl.sh`生成64位静态库。接着,更新环境变量加载openssl,并编辑FFmpeg配置脚本`config_ffmpeg_openssl.sh`启用openssl支持。然后,编译安装FFmpeg。最后,将编译好的库文件导入App工程的相应目录,修改视频链接为HTTPS,App即可播放HTTPS在线视频。
29 3
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库

热门文章

最新文章

http://www.vxiaotou.com