发布项目到jcenter

作者: lkkz | 来源:发表于2017-08-02 17:20 被阅读78次

    当我们使用RxJava,retrofit时,我们使用的姿势是这样的

    compile 'io.reactivex.rxjava2:rxjava:2.0.1'
    compile 'com.squareup.retrofit2:retrofit:2.3.0'
    

    使用很方便有木有,如果我们自己写的一些可重复使用的组件或者框架也可以这样使用岂不是很酷,下面将介绍如何将自己的库发布到jcenter。

    第一步:注册jcenter账号,这里有几个坑,我当时就踩了一个,当时用的是谷歌邮箱注册的,第一次注册了企业版,后面项目发布进行不下去,主要企业版和个人版注册页面长的一模一样,坑爹啊,请擦亮你的双眼,认准个人版的注册地址,重要的地址贴3遍
    https://bintray.com/signup/oss
    https://bintray.com/signup/oss
    https://bintray.com/signup/oss
    可以使用github邮箱快速登录,但是qq邮箱,163邮箱是注册不了的,我是使用谷歌邮箱注册的,注册好了你会看到下面这个界面

    首页.png
    将鼠标悬浮到右上角的图标,你会看到一个Edit Profile,点进去,你会看到右下方有一个Api key,点击后再次输入密码就能看到Api key了,记住后面这个Api key用得着,到时能快速找到。

    第二步、配置自己需要发布的工程,引入bintray-release

    2.1在你的项目的build.gradle添加bintray-release的classpath,注意是项目的build.gradle,不是module,如下:

    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.3'
            classpath 'com.novoda:bintray-release:0.8.0'//引入
        }
    }
    

    这样使用到了github的一个插件,极大的简话了发布流程,插件地址,https://github.com/novoda/bintray-release
    2.2在你需要上传到jcenter仓库的module的build.gralde添加

    apply plugin: 'com.android.library'
    apply plugin: 'com.novoda.bintray-release'//添加
    android {
        //保持不变
        }
        buildTypes {
            //保持不变
        }
    }
    
    //添加
    publish {
        userOrg = 'coollkkz'//bintray.com用户名
        groupId = 'com.cool'//jcenter上的路径
        artifactId = 'elasticdialog'//项目名称
        publishVersion = '1.0.0'//版本号
        desc = 'One line of code turns on the elasticity dialog'//描述,不重要
        website = 'hhttps://github.com/lkkz/ElasticDialog'//网站,不重要,如果有自己的网站就放上去吧
    }
    
    dependencies {
       //保持不变
    }
    

    按上面这种格式写,你将会发现你将来会以这种形式来使用
    compile 'com.cool: elasticdialog:1.0.0'
    哇!这样的感觉真不错

    第三步,配置jcenter仓库
    3.1 创建Maven仓库
    点击 Add New Repository,我这里已经添加好了一个


    添加Maven仓库.png

    点击 Add New Repository进入下面页面


    创建Maven仓库.png
    • Name填maven
    • Type 选Maven
    • Default Licenses (Optional)选Apache-2.0
      最后点击Create,这样就创建好了一个Maven仓库了

    3.2 添加项目
    点击刚刚创建好的Maven仓库,再点击Add New Package 按钮,填写好Name和Description,这个Name和你在libary中配置的一致,如图


    添加项目.png

    第四步 执行命令上传代码到jcenter仓库
    4.1 打开androidStudio的Terminal,执行下面命令

    ./gradlew clean build bintrayUpload -PbintrayUser=coollkkz -PbintrayKey=xxxx -PdryRun=false
    

    说明:

    • PbintrayUser bintray.com用户名
    • PbintrayKey 之前看到的Api key
      命令行显示BUILD SUCCESSFUL,恭喜你,上传成功了!!!

    4.2打开jcenter后台,找到Maven仓库刚刚创建的elasticdialog项目,你会发现里面有东西了,接下来就是最好一步,点击elasticdialog进去,然后Add to JCenter 然后就是慢慢的等待过程了,等待审核通过,审核还是很快的。

    Add to JCenter.png

    后记:在发布过程中你可能会走好多弯路,遇到好多错误但是不要害怕,其实整个流程下来还是不难的。
    你可能像我一样遇到下面几个错误:

    • Could not create version '1.0.0': HTTP/1.1 401 Unauthorized [message:This resource requires authenti
      这个错误的原因是Api Key错了

    • /Users/cool/app/studyApp/ElasticDialog/elasticlibrary/src/main/java/com/cool/elasticlibrary/ElasticDialog.java:119: 警告: @param 没有说明 * @param color
      这个错误是你方法注释上的@param 后面必须把注释写完整,如

        /**
         * 设置背景动画时间
         * @param duration 动画时间
         * @return this
         */
        public ElasticDialog duration(long duration) {
            if (duration < 0) {
                this.mDuration = 1000;
            }
            this.mDuration = duration;
            return this;
        }
    

    相关文章

      网友评论

        本文标题:发布项目到jcenter

        本文链接:https://www.haomeiwen.com/subject/ddxylxtx.html