使用Android Studio发布开源库到Bintray/Jcenter

使用Android Studio发布开源库到Bintray/Jcenter

Jcenter:一个代码库,相当于一个公共的存储容器,简单的来讲就是你把你写好的aar文件及一些文档描述文件之类的东西打包上传到Jcenter服务器上,其他人就可以通过Jcenter服务器下载到你上传的包了。
Bintray:Bintray是负责维护Jcenter仓库的网站,也就是说Jcenter的代码库是托管到Bintray上的。有个朋友举了个很形象的栗子说把Jcenter看做是位于某地的仓库,Bintray是送货的卡车,你写的库就是货了。实际上Bintray不仅支持Jcenter库还支持很多平台,Jcenter只是众多平台中的一个,每个人也都可以在Bintray创建账户生成自己的maven仓库,下文就会带着大家创建一个自己的maven仓库,同时也将该类库上传到Jcenter中。
  1. 注册Bintray账号

这里写图片描述
或者点我直接跳转个人注册页面

  1. 注册成功后 创建仓库 点击Add New Repository

在这里插入图片描述

  1. 配置仓库信息,注意:Name为仓库名后面会用到 Type选择Maven Licenses选择Apache-2.0

在这里插入图片描述

  1. 上传module,介绍一种配置极简的方法
	a. 在project下的build.gradle中配置
		
		    dependencies {
		        classpath 'com.android.tools.build:gradle:3.4.1'
		        //注意:bintray版本和gradle版本有对应关系,根据自己的gradle版本改一下,否则编译不通过
		        classpath 'com.novoda:bintray-release:0.9.1'
		    }
	
	b. 在需要上传的module下的build.gradle中配置
			
		apply plugin: 'com.novoda.bintray-release'
	
    c. 基本配置信息,配置在module下build.gradle的最外层,我把这些变量值定义在了根目录下的gradle.properties中
	
		publish {
		    artifactId = ARTIFACT_ID        // 你的模块名称,唯一
		    userOrg = USER_ORG              // bintray用户名
		    groupId = GROUP_ID              // 模块目录
		    repoName = REPO_NAME            // 此字段为你的仓库名称,默认为'maven'
		    uploadName = ARTIFACT_ID
		    publishVersion =  VERSION       // 所需上传类库的版本号,如果提交新版本,版本号需要+1否则提交bintray会失败
		    desc = DESC                     // 描述信息
		    website = WEB_SITE              // 网页,一般就是该类库的源码地址
		    licences =  [APACHE_LICENCES]
		}
	
	 d. 配置完成,在AS的Terminal窗口执行上传命令
	
		Window:
		gradlew clean build bintrayUpload -PbintrayUser=********  -PbintrayKey=****************************************  -PdryRun=false
		Mac:
		./gradlew clean build bintrayUpload -PbintrayUser=********  -PbintrayKey=**************************************** -PdryRun=false
		
		// PbintrayUser:替换为你的bintray用户名,我的是kwunyamshan
		// PbintrayKey:替换为你的Key

Key如何获取? 注册登录bintray后 点击右上角头像 ↓
在这里插入图片描述
在这里插入图片描述

  1. Terminal窗口执行命令 等控制台输出SUCCESSFUL,回到Bintray首页选择刚才创建的MyRepo仓库,就能看到刚上传成功的库了

在这里插入图片描述

  1. 上传到Jcenter,找到该类库 右上角Actions-> Add to Jcenter 添加一些描述信息提交(直接提交可能不通过) 等审核通过就可以使用了

在这里插入图片描述

  1. 使用: 在app中引用该远程类库:在project下的build.gradle配置maven地址
    repositories {
        google()
        jcenter()
        //配置maven地址
        maven{url 'https://dl.bintray.com/kwunyamshan/MyRepo'}
    }

URL的获取 点击刚才创建的仓库MyRepo ↓
在这里插入图片描述

  1. 在app下的build.gradle引用该类库
dependencies {
	...
    implementation 'com.wh.repo:bintraylib:1.0.2'
    
	//路径规则:GROUP_ID :ARTIFACT_ID:VERSION,把定义在了根目录下的gradle.properties的变量名替换成变量值
	//对应的就是:com.wh.repo:bintraylib:1.0.2
}

  1. 以上已经完成了所有配置,运行app,弹出Bintray~的吐司表示远程仓库配置成功
    当然你也可以引用发布到Jcenter中的类库,那么第7步可以省略,有 jcenter()就可以了,不过前提是Jcenter审核通过

Github传送门

如果你也用Github维护某个类库的源码那么你可以解锁一个小有b格的小徽章咯
在这里插入图片描述
进入你创建的仓库-> 找到你提交到Bintray的类库->点击Version栏中的Badge复制这个链接到你的ReadMe中吧~
在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值