Android 快速发布开源项目到jcenter

登陆后,你可以点击Your Profile->Edit然后就能看到上图的界面。

点击API Key,就可以看到你一段key字符串,把这个copy下放一边,一会上传要用。

(2)引入bintray-release

项目的build.gralde

在你的项目的build.gradle添加bintray-release的classpath,注意是项目的build.gradle,不是module的,针对文章开始的图即UploadJcenterTest/build.gradle

buildscript {

repositories {

jcenter()

}

dependencies {

classpath ‘com.android.tools.build:gradle:1.2.3’

classpath ‘com.novoda:bintray-release:0.3.4’

}

}

待上传moudle的build.gralde

来到你想要上传的module,针对文章开始的图即UploadJcenterTest/basetools/build.gradle

apply plugin: ‘com.android.library’

apply plugin: ‘com.novoda.bintray-release’//添加

android {

//保持不变

}

dependencies {

//保持不变

}

//添加

publish {

userOrg = ‘hyman’//bintray.com用户名

groupId = ‘com.hyman’//jcenter上的路径

artifactId = ‘basetools’//项目名称

publishVersion = ‘1.0.0’//版本号

desc = ‘Oh hi, this is a nice description for a project, right?’//描述,不重要

website = ‘https://github.com/hyman/basetools’//网站,不重要;尽量模拟github上的地址,例如我这样的;当然你有地址最好了

}

按照上面编写即可,细节有标识注释了,假设按照上述的编写,最终引入的方式为:

compile 'com.hyman:basetools:1.0.0

完成上面的配置后,就准备上传了。

上传

上传很简单,执行下面的代码即可

./gradlew clean build bintrayUpload

-PbintrayUser=hyman

-PbintrayKey=xxxxxxxxxxxxxxxxxxxxxx

-PdryRun=false

user就是用户名,key就是我们刚才的让你保存的key,dryRun是一个配置参数,当为true的时候,会运行所有的环节,但是不会上传。

ok,下面整理好上面的这段代码,运行即可。关于运行,你可以选择在Android Studio的Terminal面板进行,如下图。

点击底部的Terminal即可,注意下你当前的路径是当前项目下,然后enter运行。

然后就是等待,当运行完成,看到BUILD SUCCESSFUL就没问题了,如果有什么问题呢,根据log排查下。

到此就上传完成了~~~

你可以访问https://bintray.com/你的用户名/maven,即可看到:

看到我们上传的项目了,你可以点击进去看该库的一些信息,但是注意此时还不能够直接被引用。

点击进去该库,按照下图,点击Add To jcenter

然后随便写一下对你该库的描述,然后点击发送就可以了。

ok,到此就结束了,不过目前还是不能直接引用的,你需要等待bintray的工作人员审核,审核通过会给你发送站内Message,并且Add to Jcenter那个按钮就小时了,此外你还可以根据你上传的groupId,访问该网站https://jcenter.bintray.com/你的groupId例如https://jcenter.bintray.com/com/hyman/

如果可以引用,则能看到如下:

最后总结下整个过程,其实非常简单:

  1. 申请账号

  2. 引入bintray-release,在需要上传的module里面填写相关publish的信息

  3. 调用上传的命令

  4. Add to Jcenter提交审核

基本都是步骤化的东西,真正需要我们填写的也就publish里面几个信息。

ok,接下来看上传编译时注解的项目。

二、编译时注解项目上传到jcenter


如果你暂时不需要这个需求,其实没必要往下看,因为并不属于技术类文章,了解这里有写,可以收藏下,遇到需求再回来看就好了。

其实也很简单,按照步骤做就好。

我们这里找一个项目作为演示。

为什么说编译时注解的项目特殊呢?

因为它一般会涉及到多个moudle,比如上图,涉及到compilterpermission-annotationpermission-lib

我们在上传时,这3个module都要进行上传,这里暂不涉及为啥会这么分module相关知识。

其实利用bintray-release上传的过程也很简单。

项目的build.gradle

首先针对项目的build.gradle,即图中MPermissions/build.gradle

buildscript {

repositories {

jcenter()

}

dependencies {

classpath ‘com.android.tools.build:gradle:1.2.3’

classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.4’

classpath ‘com.novoda:bintray-release:0.3.4’//添加

}

}

allprojects {

repositories {

jcenter()

}

}

//添加

ext {

userOrg = ‘hongyangandroid’

groupId = ‘com.zhy’

uploadName = ‘MPermission’

publishVersion = ‘1.0.1’

desc = 'a easy API to use runtime permission for Android M ’

website = ‘https://github.com/hongyangAndroid/MPermissions’

licences = [‘Apache-2.0’]

}

只要关注添加的部分,底部的ext主要是为了上传多个module统一管理的。

module的build.gradle

剩下就是compilterpermission-annotationpermission-lib这三个module,这三个模块的处理其实是一致的:

  1. apply插件

  2. 填写publish信息

apply plugin: ‘com.android.library’

apply plugin: ‘bintray-release’//添加

android {

}

dependencies {

}

//添加

publish {

artifactId = ‘mpermission-api’

userOrg = rootProject.userOrg

groupId = rootProject.groupId

uploadName = rootProject.uploadName

publishVersion = rootProject.publishVersion

desc = rootProject.description

website = rootProject.website

licences = rootProject.licences

}

3个模块的配置是一样的,唯一不同的就是publish中的artifactId,不同的module应该有它不同的名字。

对所有需要上传的module配置完成后,和上面一样,运行上传的命令即可。

./gradlew clean build bintrayUpload

-PbintrayUser=hyman

-PbintrayKey=xxxxxxxxxxxxxxxxxxxxxx

-PdryRun=false

你可以选择在Android Studio的Terminal面板进行,如下图。

ok,然后就和上面普通项目的步骤一致了,去Add to Jcenter,之后等待。

如果审核成功,你会发现3个module都会被同步到jcenter上,比如访问http://jcenter.bintray.com/com/zhy/

在使用时,对于compiler需要引入apt的插件,大致类似如下用法:

apply plugin: ‘com.neenbedankt.android-apt’

dependencies {

apt ‘com.zhy:mpermission-compiler:1.0.0’

compile ‘com.zhy:mpermission-api:1.0.0’

}

ok,当然本文的重点在于上传,其他方面细节就不赘述了。

最后的最后

对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!

当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的

最后,互联网不存在所谓的寒冬,只是你没有努力罢了!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
id-apt’

dependencies {

apt ‘com.zhy:mpermission-compiler:1.0.0’

compile ‘com.zhy:mpermission-api:1.0.0’

}

ok,当然本文的重点在于上传,其他方面细节就不赘述了。

最后的最后

对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!

当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的

[外链图片转存中…(img-EZO8QCNj-1714419425641)]

最后,互联网不存在所谓的寒冬,只是你没有努力罢了!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值