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中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

如何使用Python实现一个简单的window任务管理器

《如何使用Python实现一个简单的window任务管理器》这篇文章主要为大家详细介绍了如何使用Python实现一个简单的window任务管理器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 任务管理器效果图完整代码import tkinter as tkfrom tkinter i

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

使用EasyExcel实现简单的Excel表格解析操作

《使用EasyExcel实现简单的Excel表格解析操作》:本文主要介绍如何使用EasyExcel完成简单的表格解析操作,同时实现了大量数据情况下数据的分次批量入库,并记录每条数据入库的状态,感兴... 目录前言固定模板及表数据格式的解析实现Excel模板内容对应的实体类实现AnalysisEventLis