https://github.com/carguo/publishtojcenter
快速集成发布lib到jcenter的例子,针对新版本的brintray,让你的库可以更简单的发布到jcenter
https://github.com/carguo/publishtojcenter
android bintray jcenter jitpack
Last synced: 6 months ago
JSON representation
快速集成发布lib到jcenter的例子,针对新版本的brintray,让你的库可以更简单的发布到jcenter
- Host: GitHub
- URL: https://github.com/carguo/publishtojcenter
- Owner: CarGuo
- Created: 2016-11-14T02:29:38.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-11-14T05:44:57.000Z (almost 9 years ago)
- Last Synced: 2025-03-26T14:54:19.434Z (7 months ago)
- Topics: android, bintray, jcenter, jitpack
- Homepage:
- Size: 176 KB
- Stars: 32
- Watchers: 3
- Forks: 10
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PublishToJcenter
发布到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`的**底部**添加以下代码:
(一定要在底部,對應build.gradle
主要添加这个依赖)
apply from: './bintray.gradle'
###34.根目录下的`gradle.properties`
接下来对内容进行配置,下面是一个例子:
```
#
# com.shuyu
# bbb
# 1.0.0
# pom
#
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正确就好了
##参考自
* http://www.jianshu.com/p/e2cc4f66b1e7
* https://github.com/msdx/gradle-publish