如何快速上传开源项目至 Jcenter

2018-10-15 12:33:04 浏览数 (1)

前几天上传了个项目至 Jcenter,看了网上很多教程,基本都是以 gradle-bintray-plugin 这个插件做上传,教程看着都好费劲,对于新手来说真的好麻烦。

找到了另外一种方法,采用 bintray-release 插件,感觉要比 gradle-bintray-plugin 简单很多啊。于是在此记录一下,希望能帮助到新手。

1、注册 bintray.com 账户

jcenter 是属于 bintray 的一个仓库,所以需要注册账户。注意默认注册的是组织,个人账户注册地址是 https://bintray.com/signup/oss ,可以用 GitHub、Google 账户注册。

2、创建私有maven仓库

点击下图中的 AddNewRepository

出现下图的界面,注意其中的 Name 和 Type 都要写成 maven

3、引入 bintray-release

在项目的 build.gradle 添加 bintray-release 的 classpath,注意是项目的 build.gradle,不是module 的。

代码语言:javascript复制
buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
        classpath 'com.novoda:bintray-release:0.8.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

在待上传 moudle 的 build.gralde 中添加

代码语言:javascript复制
apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release'  // 新增
android {
    compileSdkVersion 27
    defaultConfig {
        // 保持不变
    }

    buildTypes {
        // 保持不变
    }
}

dependencies {
   // 保持不变
}

// 新增
publish {
    userOrg = 'wuzy'        //bintray.com用户名
    groupId = 'com.wuzy'    //jcenter上的路径
    artifactId = 'logger'   //项目名称
    publishVersion = '1.0.0'//版本号
    desc = 'desc'//描述,自由填写
    website = 'https://github.com/zywudev/Logger' // 网址,自由填写
}

按照上述的编写,最终引入的方式为: compile'com.wuzy:logger:1.0.0

4、上传

上传很简单,在 Android Studio 或 cmd 控制台运行一下命令,看到 BUILD SUCCESS 即上传成功。

代码语言:javascript复制
gradlew clean build bintrayUpload -PbintrayUser=username -PbintrayKey=xxxxxxxxxxxxx -PdryRun=false

其中 PbintrayUser 为用户名,PbintrayKey 是个人的 API Key,可在 bintray 网站上点击 Edit Profile,即可看到。

上传成功后,访问 https://bintray.com/用户名/maven,即可看到上传的项目。

注意此时还不能直接引用,因为项目还未添加到 Jcenter 仓库中。在下图的红色区域,未手动添加到 Jcenter 的会出现 AddtoJcenter 按钮,点击 AddtoJcenter 加入 commit 信息就行了,一般需要等待审核通过,几个小时吧,添加成功后 AddtoJcenter那个按钮就消失了,如下图。

同样,可以在 jcenter 仓库中可以看到自己的项目了。

至此,整个流程就结束了,是不是很简单。

0 人点赞