Android(支持kotlin) 新版Bintray-极简上传Library到JCenter,可上传自定义maven仓库

背景

最近得闲 将封装的开源项目上传到JCenter上,方便供你们使用,可是忽然发现Bintray网站更新变化很大, 之前老方法上传,过于复杂,代码量也不少,每次编写新库上传,复制代码心累,你们都懂。因而百度,有没有更简便上传方式 我在网上网上不少博客讲解的 Bintray-极简上传Library到JCenter 发现对自定义maven仓库名配置, 不少博客文章里没有说明,这一篇文章是讲解如何上传自定义maven仓库下。java

开始咱们的上传之路!android


注册

注册是踩坑的第一步,不少博客或者网站都是直接推荐去官网首页注册:git

绝对不要去这里注册 github

20161217134804632.png

注意:千万别点这里注册,这里如今默认注册的是组织,并非我的web

我就是这一步走错了被这一步坑了,致使一天都没将开源项目提上去windows

重要的事情说三遍:api

我的正确的注册地址:bintray.com/signup/ossbash

我的正确的注册地址:bintray.com/signup/ossoracle

我的正确的注册地址:bintray.com/signup/ossapp

后边注册的步骤就很简单了,有github或者google帐户的同窗直接登陆就好了,若是要注册须要注意邮箱不能是国内的邮箱


获取keyuser

![Uploading 20170823113242_736797.png . . .]

20170823113242.png


建立maven仓库

20170823114936.png

注意:建立的maven仓库类型都写成maven,仓库名称 任意名字,后面配置信息会用到仓库名称

20161217141455168.png


极简上传

查看了网上的不少上传方法都很复杂,也都亲自实践过,给你们介绍最简单的一种,其余复杂的直接忽略了,由于也不是什么很高深的东西,只要能到达目的就好了!

jecenter-Jecenter上传开源库有兴趣的同窗能够去看看源码

前提是你已经将须要开源的项目独立成module,而且已是com.android.library

1.根目录下的build.gradle中加入上传开源库的依赖:

classpath 'com.novoda:bintray-release:0.8.0'
复制代码

2.librarymodule中加入 apply

apply plugin: 'com.novoda.bintray-release'
复制代码
  • 注意:bintray-releas的版本 依赖,对应你项目使用 Gradle 版本

    1.bintray-releas version 0.8.0+ 对应 Gradle 是 version 4.1+ (包括4.1)(4.5 不适用)

    2.bintray-releas version 0.7.0 对应 Gradle 是 version 4.1+ (包括4.1)

    3.bintray-releas version 0.6.1 对应 Gradle 是 version 4.1+ (包括4.1)

    4.bintray-releas version 0.5.0 对应 Gradle 是 version 3.4+ (包括3.4)

    5.bintray-releas version 0.4.0 对应 Gradle 是 version 3.3+ (包括3.3)

    6.bintray-releas version 0.3.4 对应 Gradle 是 version 1.3.0+(包括1.3)

若是版本不对应 就有可能项目库上传失败 红线内没有版本号信息

20170826184107.png

20170826184635.png

3.若是你开源库中有中文注释在modulebuild.gradle加入格式

allprojects {
    repositories {
        jcenter()
    }
    //加上这些
    tasks.withType(Javadoc) {
        options{ encoding "UTF-8"
            charSet 'UTF-8'
            links "http://docs.oracle.com/javase/7/docs/api"
        }
    }
}
//kotlin类库上传
//很是重要 要不它不认识你的项目.kt文件名 其中airpurgeview是你的library名
tasks.getByPath(":airpurgeview:releaseAndroidJavadocs").enabled = false
复制代码

如何你的类库采用kotlin语言, 请加上tasks.getByPath(":airpurgeview:releaseAndroidJavadocs").enabled = false

4.忽略错误信息:modulebuild.gradle

android {
******
******
 lintOptions {
        abortOnError false
    }
}
复制代码

5.配置基本信息

publish {
    repoName="ycjiang"//仓库名
    userOrg = 'ycjiang'      //bintray注册的用户名
    groupId = 'com.ycjiang'         //compile引用时的第1部分groupId
    artifactId = 'QiniuModule'     //compile引用时的第2部分项目名
    publishVersion = '1.0.1'    //compile引用时的第3部分版本号
    desc = 'This is a rxbus same of eventbus extend library '//d项目描述
    repoName="ycjiang" //你的仓库名称,没有填写默认仓库是maven//这也是不少人上传仓库不对名问题最多状况,
    website = '' //github 托管地址
}
复制代码

6.仓库名重要性

  • repoName 若是没有填写,上传的库默认仓库是maven,这个:bintray-release上传也是最多缘由.

  • 不少用户的压根没有这个仓库, 而后百度,发现,Bintray须要手动建立仓库是maven。

  • 既然手动建立仓库,为何仓库名为什么本身用定义仓库名, Bintray是能够新建仓库. repoName 这个属性就能够本身项目上传到本身定义仓库下。

经过配置咱们最后的依赖地址=第一部分+第二部分+第三部分;

compile  'com.ycjiang:QiniuModule:1.0.1'
复制代码

版本更新只须要修改publishVersion 便可;

7.切换到AndroidStudio temrinal或者cmd后台中运行:

  • 配置基本信息没有填写 bintrayUser和bintrayKey 使用下面
windows 系统:
gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
复制代码
os x系统中

若是出现拒绝该命令./gradlew: Permission denied,能够先运行 chmod +x gradlew再运行该命令;第一次运行须要下载文件须要稍微等待。

./gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
复制代码

其中BINTRAY_USERNAME换成bintray注册的用户名,BINTRAY_KEY换成本身的APIKEY

8.观察后台输出:

这里写图片描述

回车执行命令,看到BUILD SUCCESS即上传成功

9.发布项目到公用Jecenter

回到主页的你上传仓库中,点击进入,若是你上次成功便可看见你刚刚上次的开源项目

20170826191257.png

点击进入项目中,而后点击add加入commit就好了,通常须要等待审核经过,通常5-6小时 commit内容推荐是同英文,不要中文

20170823124104.png

10.依赖使用

在审核经过前能够经过配置本身私有仓地址使用

20170826192820.png

在更目录下build.gradle配置地址

allprojects {
    repositories {
        jcenter()
          jcenter(){ url 'http://jcenter.bintray.com/'} //JCenter下载慢测试
         maven { url "https://dl.bintray.com/ycjiang/maven" }//审核前可以使用
    }
复制代码

项目中加入依赖:

compile  'com.ycjiang:QiniuModule:1.0.1'
复制代码

好了,如今你就能够在你项目中依赖你的开源库了,就是这么简单!


项目

在第一次上传的过程当中能够参考个人工程仿照配置

传送门-开源项目-JiPlay-戳我

相关文章
相关标签/搜索