PublishToJcenter

Introduction: 帮助你快速集成发布你的库到 jcenter,集成简单,教程很详细,针对新版本的 brintray,让你的库可以更简单的发布到 jcenter
More: Author   ReportBugs   
Tags:
jcenter-brintray-发布-aar-maven--

发布到 jcenter 路过各种坑,尝试了各个大神的文章一直跑步起来,这里综合一下

主要是针对新版本的 bintray,发布 Android 的 lib 发布 Jcenter,需要的 Gradle 脚本及属性文件.

bintray.gradle: 用于发布到 JCenter 的脚本。

build.gradle: project 下的脚本

gradle.properties: 在bintray.gradle对应的属性,新版本增加了组织的概念

lib/build.gradle: 针对需要发布的 model,其中切记

apply from: '../bintray.gradle'一定要写在最后面<\h5>

1. 注册保存 bintray

bintray 的地址:https://bintray.com/ ,注册时候 qq 邮箱和 163 邮箱注册不了,微软的 live 邮箱和新浪邮箱可以注册。

网上大多数文章都说进入后会有一个 API Key,但是我在 edit profile 一直没找到,直达后来创建了 maven 之后才发现。

记住账号名以及 API Key 是 bintray 上传必须的。

目前我是放在了项目的 gradle.properties 下,需要的时候就填写了发布,配置了一个 ignore 的文件不会上传,要用就复制过去,各位如果有更好的办法可以提供下

BINTRAY_USER=bintray account name
BINTRAY_KEY=bintray API Key

2. project 目录下的build.gradle文件,对应build.gradle

主要添加这个依赖

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'
    }
}

3. 在 lib 的这个build.gradle底部添加以下代码:

(一定要在底部,對應<a href="https://raw.githubusercontent.com/CarGuo/PublishToJcenter/master/lib/build.gradle">build.gradle</a>

主要添加这个依赖) apply from: './bintray.gradle'

34.根目录下的gradle.properties

接下来对内容进行配置,下面是一个例子:

# <dependency>
#   <groupId>com.shuyu</groupId>
#   <artifactId>bbb</artifactId>
#   <version>1.0.0</version>
#   <type>pom</type>
# </dependency>

BINTRAY_USER= 你在 bintray 上的账号名
BINTRAY_KEY=  你在 bintray 上的 API KEY
PROJ_USER_ORG=你在 bintray 上的组织名字
PROJ_USER_MAVEN=你在 bintray 上的 repo 名字
PROJ_NAME=你在 bintray 上的 repo 名字下的包名

PROJ_GROUP= 这是上的 groupId,自己配置
PROJ_VERSION=这是上面的 version,自己配置
PROJ_ARTIFACTID=上面的 artifactId

PROJ_WEBSITEURL=github 上的 url 就好了,可以不填
PROJ_ISSUETRACKERURL=可以不填
PROJ_VCSURL=github 上的 ssh 就好了,可以不填
PROJ_DESCRIPTION=描述,可以不填


DEVELOPER_ID=发布人 id,自己填
DEVELOPER_NAME=发布人名字,自己填
DEVELOPER_EMAIL=发布人邮箱,自己填

上面的例子最终在 Android Studio 中的引用形式为:

dependencies {
    compile 'com.shuyu:bbb:1.0.0'
}

它的格式是 PROJ_GROUP:PROJ_ARTIFACTID:PROJ_VERSION组成。

4. 执行发布命令

执行 gradlew bintrayUpload 将库发布到 bintray.com.

gradlew bintrayUpload

5. 将库加入 Jcenter

最后一步,需要登录 bintray.com,将我们刚刚发布的库申请加入到 jcenter,这样别人才能直接引用到。

6、 备注与问题

bintray 上的创建:

  • 这里可以找到你的 api key

  • 你需要先创建 repo,不然会出现 404 找不到 package,其中 name 可以根据你的喜欢来填写,后面对应配置到上面 gradle.properties 的的 PROJ_USER_MAVEN

  • 你还需要再改 repo 下创建包,不然会出现 404 找不到 package,主要添加 name,后面对应配置到上面 gradle.properties 的 PROJ_NAME

  • 新版本有组织的概念,这个就是组织 id,后面对应配置到上面 gradle.properties 的 PROJ_USER_ORG

  • 一般出现 401,400,404 的基本都是没有创建好 repo 和 package,还有就是 groupId 不对,最后就是 username 和 apikey 正确就好了

参考自

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools