Android Studio发布项目到jCenter
2016-08-26 15:05
330 查看
概述
在Android开发中,如果我们需要引入一个第三方的库,往往最喜欢的做法是在gradle文件中添加一行引用,然后在代码中就可以使用了,今天来带大家实现这个过程,让我们自己写的东西也能很方便的一行代码引入。接下来按步骤给大家讲解一下。1.首先创建创建一个Android Library,这个就是我们需要上传的
2.进入下面的网址
https://bintray.com/
登录进去以后,我们需要获取一个key,请看下面的步骤
这个key我们在后面的命令行中会使用到,先保存起来
3.配置我们的libarary
在Project的gradle文件里面添加下面的配置
dependencies { classpath 'com.android.tools.build:gradle:2.2.3' //添加这一行 classpath 'com.novoda:bintray-release:0.3.4' }
然后在library的gradle文件里面添加
apply plugin: 'com.android.library' apply plugin: 'com.novoda.bintray-release'//添加这一行 .... publish { userOrg = 'smalllee'//bintray.com用户名 groupId = 'com.edj'//jcenter上的路径 artifactId = 'dragview'//项目名称 publishVersion = 'v1.0.0'//版本号 }
这样我们的配置就算完成了。
4.去binary上进行操作
如果是第一次,之前没创建过仓库,需要点击Add New Repository,进入下面的界面
注意,这里的仓库明必须要是maven,否则运行命令的时候会报错,下面的Type我们也选maven。
这里我已经创建好了仓库,所以进入仓库,点击创建新的package
进入创建页面,填写完信息
需要注意的是这里的Name要和我们Project中配置的artifactId 一致,否则会上传失败。
5.运行gradlew命令
gradlew clean build bintrayUpload -PbintrayUser=SmallLee -PbintrayKey=3a7b834fb1109091edb5b179b2735acf7c533f57 -PdryRun=false
PbintrayUser是你登录binary这个网站的用户名,我这里使用Github的帐号登录的,所以和Github的用户名保持一直,key就是我们前面获取到的,dryRun是一个配置参数,当为true的时候,会运行所有的环节,但是不会上传。
然后我们在Studio的命令行运行命令。
6.错误解决
在运行命令的过程中可能遇到各种问题,下面把我碰到的问题全部罗列出来,并给出解决办法
错误信息 1:
大概意思是说产生JavaDoc的时候出错了,经过网上查找,解决办法如下
allprojects { repositories { jcenter() } //加上这些 tasks.withType(Javadoc) { options{ encoding "UTF-8" charSet 'UTF-8' links "http://docs.oracle.com/javase/7/docs/api" } } }
之后又遇到一个错
* What went wrong: Execution failed for task ':dashview:bintrayUpload'. > Could not create version 'v1.0.0': HTTP/1.1 401 Unauthorized [message:This resource requires authentication]
错误的大概意思是资源需要验证,经过一番尝试,解决办法如下
publish { userOrg = 'smalllee'//bintray.com用户名 groupId = 'com.edj'//jcenter上的路径 artifactId = 'dashview'//项目名称 ..... }
userOrg是bintray上显示的用户名,如下图
groupId是库引用的前缀:这里是com.edj.dashview
这里的artifactId 是你之前最初在bintary的maven中创建的那个package的名字,这里需要对应上 否则会上传失败
有些朋友有时也可能会遇到下面这个错
* What went wrong: Execution failed for task ':dashview:bintrayUpload'. > Could not create package 'smalllee/maven/dashview': HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]
出这个错的原因是你创建仓库的时候名称写的不是maven,也就是说你创建仓库的时候应该按照下面的方式,名字必须指定为maven
上面的错解决完以后,感觉离成功已经不远了,执行gradlew命令后又遇到一个错
Execution failed for task ':flybanner:bintrayUpload'. > Could not upload to 'https://api.bintray.com/content/SmallLee/maven/flybanner/1.0.0/com/lxn/flybanner/1.0.0/flybanner-1.0.0-sources.jar': HTTP/1.1 404 Not Found [message:Subject 'SmallLee' was not found]
最后发现,出这个错的原因是因为一次只能上传一个library,如果你此时在其他library里面也进行了上传配置的话,就会报上面的错,这点一定要注意。
7.解决完上面的错误以后,就上传成功了,我们可以看到上传的项目
最后选择添加到jcenter
之后,我们还要等待审核,审核成功之后就可以使用了。
相关文章推荐
- 如何在Android Studio中使用Gradle发布项目至Jcenter仓库
- 如何在Android Studio上发布项目到Maven和JCenter
- Android Studio 发布开源项目到Jcenter重要步骤记录
- Android Studio 发布开源项目到Jcenter重要步骤记录
- Android Studio发布项目到jcenter升级版
- 使用Android studio发布项目到jcenter
- Android Studio 发布开源项目到Jcenter重要步骤记录
- Android Studio 发布开源项目到Jcenter重要步骤记录
- Android Studio 发布开源项目到Jcenter重要步骤记录
- Android Studio 发布开源项目到Jcenter重要步骤记录
- Android Studio发布项目到Jcenter
- Android studio发布项目到 jcenter
- Android Studio发布项目到Jcenter
- Android Studio 发布开源项目到Jcenter重要步骤记录
- Android studio 发布Android Library项目到JCenter
- 如何在Android Studio中使用Gradle发布项目至Jcenter仓库
- Android Studio发布项目到Maven和Jcenter
- Android studio 制作aar 使用Gradle发布项目到JCenter仓库
- Android Studio 发布开源项目到Jcenter重要步骤记录
- Android Studio 发布开源项目到Jcenter重要步骤记录