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

相关文章

基于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 输出格式化字符串示

GitLab文件的上传与下载方式

《GitLab文件的上传与下载方式》:本文主要介绍GitLab文件的上传与下载方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录GitLab 项目拉取到本地GitLab 项目上传方法方法 1:本地项目未初始化Git方法 2:本地项目已初始化GitGitLab 上

windows和Linux安装Jmeter与简单使用方式

《windows和Linux安装Jmeter与简单使用方式》:本文主要介绍windows和Linux安装Jmeter与简单使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows和linux安装Jmeter与简单使用一、下载安装包二、JDK安装1.windows设

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

Java应用如何防止恶意文件上传

《Java应用如何防止恶意文件上传》恶意文件上传可能导致服务器被入侵,数据泄露甚至服务瘫痪,因此我们必须采取全面且有效的防范措施来保护Java应用的安全,下面我们就来看看具体的实现方法吧... 目录恶意文件上传的潜在风险常见的恶意文件上传手段防范恶意文件上传的关键策略严格验证文件类型检查文件内容控制文件存储

Java实现MinIO文件上传的加解密操作

《Java实现MinIO文件上传的加解密操作》在云存储场景中,数据安全是核心需求之一,MinIO作为高性能对象存储服务,支持通过客户端加密(CSE)在数据上传前完成加密,下面我们来看看如何通过Java... 目录一、背景与需求二、技术选型与原理1. 加密方案对比2. 核心算法选择三、完整代码实现1. 加密上

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

在React聊天应用中实现图片上传功能

《在React聊天应用中实现图片上传功能》在现代聊天应用中,除了文字和表情,图片分享也是一个重要的功能,本文将详细介绍如何在基于React的聊天应用中实现图片上传和预览功能,感兴趣的小伙伴跟着小编一起... 目录技术栈实现步骤1. 消息组件改造2. 图片预览组件3. 聊天输入组件改造功能特点使用说明注意事项