Android工程上传Jcenter (Bintray)

平时开发时是不是在 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 一遍,然后按图中步骤点击:
Android工程上传Jcenter (Bintray)_第1张图片
也就是先点 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,之后就可以正常引用啦

如果要更新我们的库,直接把版本号改一下,再次按照上面流程执行一次即可

你可能感兴趣的:(Android开发)