下面简单介绍Android studio将Library上传到jcenter的方法,以及介绍在这过程中会遇到的各种坑。
一、jcenter个人账号注册
重要的事情说三遍:
个人注册账号地址:
个人注册账号地址:
个人注册账号地址:
Paste_Image.png填写各种信息点击注册就可以了。
进入界面个人主界面后如下图: Paste_Image.png
请点击add new repository 添加一个 maven 包,一定是这个,因为默认情况下你的Library就是上传到这里的。
然后填写各种信息,尽量填写满,不然有坑。
重点:Android studio中配置
1、在项目根目录下gradle 的 dependencies 配置添加
classpath 'com.novoda:bintray-release:0.3.4'
特别注意位置
Paste_Image.png2、在需要上传的module gradle中如下配置
apply plugin: 'com.novoda.bintray-release'
publish {
userOrg = 'xxx' //bintray注册的用户名
groupId = 'com.xxx' //compile引用时的第1部分groupId
artifactId = 'xxxlibrary' //compile引用时的第2部分项目名
publishVersion = '1.0.0' //compile引用时的第3部分版本号
desc = 'This is a xxx library'
}
Paste_Image.png
3、buid上传Library 到jcenter
首先点开Android studio的Terminal 如下图位置所示
在Terminal 输入如下命令然后回车则开始build 然后上传。
gradlew clean build bintrayUpload -PbintrayUser=xxx -PbintrayKey=d1d7ea4cxxx5f13c318ff0219b537b9xxx -PdryRun=false
Paste_Image.png
上传完成后会如下图所示:
Paste_Image.png以上为正常操作的一步步演示,下面介绍可能遇到的坑。
jcenter上传过程中可能遇到的坑
1、401、404、400
Could not create package 'xxx/maven/xxxlibrary': HTTP/1.1 401 Unauthorized [message:This resource requires authentication]
HTTP/1.1 404 Not Found [message:Repo ‘maven’ was not found]
HTTP/1.1 400 Bad Request [message:Please enter a valid VCS URL for your OSS package
原因:401 很明显gradle 配置出错,404 jcenter账号中maven未创建或者创建位置错误 ,400 jcenter 包配置错误。
2、报中文错误未描述或者警告,进行如下配置:
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
options.addStringOption('charSet', 'UTF-8')
options.addStringOption('encoding', 'UTF-8')
}
Paste_Image.png
3、其他出错原因,多检查配置是否正确。
将自己上传的library 从jcenter 导入到Android studio
jcenter 是一个开源的maven 库,目的是让你的代码开源给其他开发者或者个人使用,上传源码只是第一步。
重点:这里只说如何将自己的Library导入进项目,并进行版本控制,不介绍如何开源给其他开发者。
1、上传完成后首先你要在项目根目录gradle 配置如下:
maven { url }
Paste_Image.png
2、在module gradle中正常导入即可,写入你需要的版本
Paste_Image.png