将项目发布到jcenter仓库可以方便他人直接使用,下面总结一下流程和可能遇到的问题
创建账号
首先进入维护jcenter的网站创建账号:https://bintray.com/
创建账号时选择个人开发者(选择企业可能会无法将项目加入到jcenter仓库)
邮箱建议选择Google的Gmail,其他按实际情况填写即可
创建仓库
登陆后先创建一个自己的maven仓库用于上传及发布
创建仓库时类型选择maven,其他按实际需求填写,仓库的name后面会用到
创建项目
仓库创建完成后还需要创建项目,这个项目和我们需要上传的项目相对应
点击“Add a Package”创建新的项目
创建项目时的"Version control"是必须要填写的,这里可以填项目地址,也可以随便填写
上传项目
下面开始将项目从本地传到自己刚刚在bintray网站上建立的maven仓库里,这里采用novoda的bintray-release仓库,参考链接:https://github.com/novoda/bintray-release
在项目的build.gradle文件中添加:
buildscript { repositories { jcenter() } dependencies { classpath 'com.novoda:bintray-release:0.9' }}
在需要上传的模块build.gradle中添加:
apply plugin: 'com.android.library'apply plugin: 'com.novoda.bintray-release'publish { userOrg = 'qzw9231' // 这是之前创建账号时的name groupId = 'maven' // 这是之前创建仓库的name artifactId = 'baresipsdk' // 这是之前创建项目的name publishVersion = '0.1.8.5' // 版本号随便填写 desc = 'This is sdk for baresip and vers' // 描述随便填写 website = '' // 项目网站随便填写}
这里注意如果publish里的参数没有和bintray创建的项目对应上的话,在上传时会报错
如果代码中有中文注释,会遇到编码问题,需要在项目的build.gradle文件中添加:
allprojects { tasks.withType(Javadoc) { options { encoding "UTF-8" charSet 'UTF-8' links "http://docs.oracle.com/javase/7/docs/api" } }}
上传时可能会因为代码不规范报错,可以去掉编译时代码检查,在模块的build.gradle文件中添加:
android { lintOptions { abortOnError false }}
最后一步,上传项目,在AS的Terminal命令行下进入到项目的根目录下运行:
gradlew clean build bintrayUpload -PbintrayUser=USER_NAME -PbintrayKey=API_KEY -PdryRun=false
这里的USER_NAME是之前在bintray创建的账号name,API_KEY是账号里的Key,可以在“Edit Profile”中找到,如下图
运行命令后如果上传成功,会出现类似的提示
如果上传项目成功,可以进入到之前创建的项目页面中找到刚刚上传的记录,注意不能上传重复版本号
项目发布
目前项目已经上传到了bintray网站上个人的maven仓库了,可以直接使用,如下:
在项目的build.gradle文件中添加maven的url:
allprojects { repositories { maven { url "https://dl.bintray.com/qzw9231/maven" } }}
在模块的build.gradle文件中引用:
dependencies { implementation 'maven:baresipsdk:0.1.8.5'}
加入到jcenter仓库
目前项目还没有上传到jcenter仓库中,需要添加个人的maven url才可以使用,如果想添加到jcenter仓库,还需按下述步骤进行操作
在项目中找到“Add to jcenter”并点击,网页可能会改版,所以按钮位置不固定
这里勾选红色框选项的话,审核通过后即可用bintray的账号登陆https://oss.jfrog.org,并且可以将snapshot版本托管到jfrog,因为bintray目前并不托管snapshot版本,其它选项按实际情况填写即可,然后坐等审核
本文分享自 FreeSWITCH中文社区 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!