Android上传aar到Jcenter和Jitpack
一.上传项目到Jcenter
1.注册jcenter账号
进入注册地址选择右边sign up here 进行注册,建议直接使用github账号授权登录。(qq,网易等邮箱很多时候收不到验证码,所以要想成功完成注册最好用google邮箱)
2.创建Repository(仓库)
注册成功之后创建Repository,作为存放开源库的仓库,最好选择为公共仓库(public),仓库名称和仓库类型为maven,仓库名称在后面上传时需要用到。
3.获取 API Key
登录bintray, Edit profile -> API Key 可以获取上传的秘钥key,后面上传项目的时候需要使用。
4.配置引入 bintray-release插件
项目根目录build.gradle配置,加入bintray-release插件
1 | buildscript { |
开源库目录build.gradle配置,每个配置描述都已经给出,完成这两个步骤,就可以准备上传开源库到jcenter了
1 | apply plugin: 'com.android.library' |
5.上传开源库
(1.)在项目根目录下执行上传命令
1 | # window 下执行 |
(2.)上传命令解析
1 | gradlew clean build bintrayUpload //根命令 |
二.添加到Jcenter中央仓库
1. Add to JCenter
上传成功之后就可以打开项目详情,选择 Add to JCenter 就可以申请添加到 JCenter 了,如下图所示:经过上面的步骤,我确实已经把开源库上传到Jcenter了,但是我们还不能引用,要想引用上传的开源库还得提交人工审核,人工审核通过会收到站内message,并且开源库中的Add to Jcenter 也会消失。
2. 审核期间引用
在工程(projrct)的build.gradle文件中,添加maven支持
1 | allprojects { |
在moudle的build.gradle文件中,添加依赖
1 | dependencies { |
三.Jcenter托管项目版本更新
1.提交版本
开源库有bug,或者我们进行迭代,就会涉及到版本更新,那就只需要修改开源库目录build.gradle配置中的版本号,其他配置保持不变,再次执行上传开源库命令就可以达到版本更新的目的。
1 | publish { |
2.审核通过
审核通过会发送站内message,同时Add to jCenter按钮消失,并且可以通过访问https://jcenter.bintray.com/你的groupId查看。
四.Jcenter托管项目问题相关
1.上传成功后jcenter项目首页不显示pom
问题:
上传成功后jcenter项目首页不显示pom,点击add to jcenter弹出以下错误提示:
1 | Please fix the following before submitting a JCenter inclusion request: - Add a POM file to the latest version of your package. |
原因是:是由于编码问题导致javadoc生成失败导致。
解决:
方式一:在Project的build.gradle中配置以下语句:
1 | allprojects { |
方式二:拆分上传命令:
- 在Terminal执行
gradlew clean build
命令。 - 先右击执行generatePomFileForReleasePublication task,再右击执行publishReleasePublicationToMavenLocal task,具体操作看图:
- 在Terminal中执行
gradlew bintrayUpload -PbintrayUser=username -PbintrayKey=API Key -PdryRun=false
命令。
2.Lint检查报错
问题:
Lint检查报错,导致Build & Upload失败。
解决:
方式一:需要自行根据错误信息修正Error级别的问题。
方式二:为Library项目的build.gradle配置以下Lint选项实现,–该方式摘自网络,未验证:
1 | android { |
3.网络问题导致的上传失败
问题:
1 | * What went wrong: |
1 | * What went wrong: |
1 | * What went wrong: |
解决:
- 关闭代理软件,重启网络。
- 关闭由上传操作自动开启的Java客户端(Mac上会出现,其他设备不清楚)。
五.上传项目到Jitpack
1.准备好项目以及要发布的开源库
上传到JitPack的开源库默认使用项目的名称,而不是要发布的开源库的名称,所以尽量给项目起一个比较优雅的名字(这里我们使用同名)。
2.配置gradle插件
用到一个的插件**android-maven-gradle-plugin**
在项目的build.gradle添加
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15buildscript {
...
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.2'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
}
}
allprojects {
...
}在要上传的library的build.gralde文件添加如下代码:
1
2
3
4
5
6
7
8apply plugin: 'com.android.library'
// JitPack Maven
apply plugin: 'com.github.dcendents.android-maven'
// Your Group
group='com.github.username'
android {
...
}将项目上传到github。
3.在github主页,创建一个Release或Tag
4.将项目的仓库提交到jitpack.io
版本提交完成后,JitPack会自动生成引用该library的配置信息:
参考资料:
开源库上传 jcenter
AS上传Library到JCenter 教程+踩坑记录
亲测android Studio发布Lib到jCenter
如何一步一步的将自己的开源项目上传到jcenter
如何上传Android库项目的到JCenter