将项目上传到jcenter后在gradle中通过一行代码,就可以实现对项目的引入依赖,不用再手动下载jar包copy到项目中,方便快捷。下面是发布项目的步骤:
一、注册Bintray账号
选择For an Open Source Account,点击Sign Up Here注册账号,或者直接点击https://bintray.com/signup/oss,按照要求填写注册信息即可。
START YOUR FREE TRAIL应该是付费试用plan,个人猜测,没有实际验证,有错误的话请指正。
二、创建Repositories和Package
注册完账号后,需要创建Repositories和Package,否则上传项目的时候会提示# Bintray- HTTP/1.1 404 Not Found [message:Repo 'maven' was not found的错误
首先,创建Repositories
点击Add New Repository
name必须填写maven,否则上传的时候会报错,这个是一篇文章上看的,因为上面写着Cannot be changed once the repository is created和事情比较多, 所以就按照文章上说的来了,没有尝试其他的name。
个人理解,应该可以填其他的名字,只要Type选择Maven就可以了,否则也太死板了,所有人创建的repository都得叫maven?!也说不过去。
接着,创建package
点击Add New Package
这个里面有三个必填项,Name、Licenses和Version control。Name需要跟后面配置的gradle中artifactId值相同(没有验证不同时会怎样),Licenses选择一个开源lienses,我选的Apache-2.0,version control填写自己项目的托管的版本管理工具,我的项目是在github上的,所以我的是
https://github.com/zhaoyong1989/downloadmanager.git
至此,Repositories和package就创建完成了。
三、使用bintray-release上传项目
- 创建android library moudle,需要上传的项目以moudle形式存在。在项目的build.gradle的dependencies下添加classpath:
classpath 'com.novoda:bintray-release:0.8.3'
注意是项目的不是module的bulid文件。bintray-release最新版本号可以在https://github.com/novoda/bintray-release查看,目前最新的版本就是0.8.3 - 在moudle的build.gradle
添加
apply plugin: 'com.novoda.bintray-release'
添加
publish {
userOrg = '' //bintray注册的用户名(不是邮箱)
groupId = 'com.young'
artifactId = 'download' //项目名称
publishVersion = '1.0.0' //版本号
desc = '' //项目描述。可空。
website = '' //项目地址,一般填github地址。可空。
}
-
上传
一切准备就绪,就可以开始上传了,直接在Android Studio Terminal面板执行:
./gradlew clean build bintrayUpload -PbintrayUser=用户名 -PbintrayKey=API Key -PdryRun=false
PbintrayUser就是注册时的用户名,PbintrayKey填写API Key,API Key在bintray.com网站上登陆后,鼠标移动到右上角头像,点Edit Profile,在左侧找到API Key点击去就可以看到了。如图:
经过漫长等待,如果显示BUILD SUCCESSFUL ,那么恭喜,上传完成了。
-
提交到jcenter
到此为止项目仅仅是传到了Bintray,并没有同步到JCenter。
先点进去刚传的项目,可以看到右下方Linked to模块有个Add to JCenter按钮,点击后打开一个网页,在此输入这个项目的描述(最好英文),不用多长,一句话就可以。然后点击Send可以提交审核。
通过后会有站内消息提示,一般几小时就可以通过,很容易的。只审核这一次,以后更新版本上传不会再审核。
通过后的消息通知
- 在gradle中使用
见上图的左下角红框,直接在gradle中引入即可
参考:
https://www.jianshu.com/p/c42f74644c49
https://blog.csdn.net/small_lee/article/details/52328613