平时开发时是不是在 gradle 文件中经常用到这种写法:implementation 'org.greenrobot:eventbus:3.2.0'
,一直都好奇怎么做到的,今天有空尝试了一下,研究的不深,仅提供一个可行的方案,亲测好用哦~
首先登陆这个https://bintray.com 网站,如果你是个人开发者的话,要记得选择个人账户注册,注册邮箱注意不能是163邮箱…
注册成功后,新建一个仓库比如我建的 “TestApp”,好,到这里网页操作告一段落
我们回到 studio,把我们的 TestApp 工程上传到 github 上,之后开始配置 studio
这里我们用 novoda
插件帮助我们上传
在 TestApp 项目根 build.gradle 中配置:
buildscript {
//省略
dependencies {
//省略
classpath 'com.novoda:bintray-release:0.9.2'//添加这句!!
}
}
allprojects {
//省略
}
在 module 的build.gradle 中添加:
apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release'//添加这句!!!
android {
//省略
defaultConfig {
//省略
}
buildTypes {
//省略
}
}
dependencies {
//省略
}
publish {//添加这个!!!!
userOrg = 'yibeiliu'//bintray.com用户名
repoName = 'TestApp' // bintray上仓库的名字
groupId = 'com.yibeiliu.testapp'//jcenter上的路径
artifactId = 'TestApp'//项目名称
publishVersion = '1.0.3'//版本号
desc = 'This is my first Bintray project!'// 描述
website = 'https://github.com/yibeiliu/TestApp.git'//一般填github 项目地址,一定是要有效的地址
}
这样配置的话,最后你引用的名字是:
groupId:moduleName:publishVersion
比如我上文配置的,引用时就是:
implementation 'com.yibeiliu.testapp:TestApp:1.0.3'
到这里配置部分就完成了,接下来 clean 工程再 build 一遍,然后按图中步骤点击:
也就是先点 generatePomFileForReleasePublication
在点击 publishReleasePublicationToMavenLocal
这时候应该已经生成了相应的 pom 文件了,然后我们在项目根目录执行:
gradlew bintrayUpload -PbintrayUser=Bintray账户名 -PbintrayKey=Bintray的API key -PdryRun=false
注意:大部分教程包括官网都是直接执行gradlew clean build bintrayUpload -PbintrayUser=Bintray账户名 -PbintrayKey=Bintray的API key -PdryRun=false
,这种方式虽然 build success,但是 warning 提示 pom 文件 skipping 掉了,网页中 TestApp 仓库的 Files 选项卡也没有 pom 文件,所以一定要按照我的方式来呀宝宝们
好啦,我们看到 Build SUCCESS 且 没报错误和 skipping 之类的 warning 就是成功了,然后我们登上 Bintray 我们创建的项目,看看 Files 选项卡中有没有我们刚传的文件,如果都 OK,我们可以点击 Add to JCenter
按钮把我们的工程传到 JCenter,只有传到 JCenter 后才能直接在 Gradle 中引用,这个是需要审核的,大概几小时或一天左右就OK,之后就可以正常引用啦
如果要更新我们的库,直接把版本号改一下,再次按照上面流程执行一次即可