Android 上传自己的开源库到Bintray(超简单哦)

2024-01-06 12:18

本文主要是介绍Android 上传自己的开源库到Bintray(超简单哦),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

我们在项目中引用过各路大神的开源库,但是如何将自己的Library发布到Maven仓库呢,搜索了半天,知道了jcenter是由 bintray.com维护的Maven服务器,该服务器是现在最通用的,可以试一下,但是网上的方法各种复杂,不想搞,终于找到了一种超级简单的方法,在此做个记录分享给大家。

注册

打开 bintray.com,点击右上角“Sign In”,进入登录页面。
bintray首页
bintray登录页面
点击Sign Up to an Open Source account进入注册页面。
千万注意不要直接点首页的 START YOUR FREE TRIAL 直接注册,官网默认的注册网站是给组织使用的,并非个人,否则后续会导致各种问题。
bintray注册页面
具体注册方法就不多说了,大家应该都会,建议关联github账号,据说如果通过邮箱注册,需要国外的邮箱,gitHub亲测,好使。

创建Maven仓库

点击Add New Repository按钮创建Maven仓库

创建Maven仓库时,Name是你自己的仓库名可以随意填写,我就随便取了个MyMoven的名字,Type一定要选择Maven,Default Licenses需要选择Apache-2.0,至于为什么选Apache-2.0没有具体研究。
创建Maven仓库页面
点击Create按钮创建MyMoven仓库成功。

到这里我们的第一步已经完成了,注册Bintray个人账号,创建Moven仓库,下面介绍如何将我们的Library上传到这个仓库中。

工程配置

  • 主工程根目录下的build.gradle文件中加入上传开源库的依赖,这里要注意一下gradle版本需要与bintray-release版本保持一致。
build script {repositories {jcenter()}dependencies {classpath 'com.android.tools.build:gradle:2.2.2'classpath 'com.novoda:bintray-release:0.4.0'}
}all projects {repositories {jcenter()}
}task clean(type: Delete) {delete rootProject.buildDir
}
  • Library工程的build.gradle配置
    1 添加apply
apply plugin: 'com.novoda.bintray-release'

2 忽略错误信息

android {******lintOptions {abortOnError false}
}

3 如果有中文注释加入如下代码

android {******
}all projects {repositories {jcenter()}tasks.withType(Javadoc) {options{ encoding "UTF-8"charSet 'UTF-8'links "http://docs.oracle.com/javase/7/docs/api"}}
}

4 配置binary上传基本信息,具体配置和参考Bintray Configuration,下面是我的配置

publish {repoName = 'MyMoven'           //bintray仓库名userOrg = 'wyshikai'           //bintray注册的用户名groupId = 'com.sky'            //compile引用时的第1部分groupIdartifactId = 'CustomTab'       //compile引用时的第2部分项目名publishVersion = '1.0.0'       //compile引用时的第3部分版本号desc = 'This is a simple custom tab library for Android'website = 'https://github.com/wyshikai837/CustomTab'
}

配置就大功告成了


发布到Binary

1 首先需要找到API KEY,点击账号管理中的Edit Profile
Edit Profile
API KEY
复制API KEY
2 在Android Studio的terminal或者cmd(注意要先进入工程根目录)中,执行命令

./gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false

其中BINTRAY_USERNAME是账号名,BINTRAY_KEY是API KEY
注意这个命令是在MAC系统下的,如果在Windows系统需要去掉./

gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false

如果最后显示,表示发布成功了

BUILD SUCCESSFUL
Total time: *** secs

打开刚刚我们创建的仓库,就可以看到我们上传的Library
Library
点击Library查看详情,如果看到Maven build settings和Add to JCenter,那么恭喜你最重要的一步已经完成了。
详细信息
3 发布到Center
点击上图中的Add to JCenter按钮,填写说明,并提交审核,就可以静静的等待了,基本上几个小时就可以通过
提交审核
发布工作已经完成了,是不是很简单啊,这里还想啰嗦一句,大家在配置信息的时候一定要注意Gradle与Bintray版本对应,否则会导致所有步骤都没有问题,并且提交JCenter审核也通过了,就是引用不到库,我查了好久才查到是这个问题。


依赖使用

在审核通过前可以配置私有仓库来使用
私有仓库地址
在根目录的build.gradle下配置,私有仓库地址

allprojects {repositories {jcenter()maven {url 'https://dl.bintray.com/wyshikai/MyMoven/'}}
}

在使用到仓库的工程中加入依赖即可

compile 'com.sky:CustomTab:1.0.0'

等待审核通过后,将私有仓库地址删除即可。

这篇关于Android 上传自己的开源库到Bintray(超简单哦)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/576325

相关文章

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

Java中使用 @Builder 注解的简单示例

《Java中使用@Builder注解的简单示例》@Builder简化构建但存在复杂性,需配合其他注解,导致可变性、抽象类型处理难题,链式编程非最佳实践,适合长期对象,避免与@Data混用,改用@G... 目录一、案例二、不足之处大多数同学使用 @Builder 无非就是为了链式编程,然而 @Builder

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示