使用Android studio发布项目到jcenter
2016-06-20 11:03
429 查看
前不久写了一个路径动画的库,想上传到jcenter让其他人可以通过complile的方式来依赖使用.
在网上找了很多文章,自己也试了很多方法,最后还是参照鸿神这篇文章上传上去了.说起上传库的过程,真是太心酸了.本来想转载鸿神的 快速发布项目到jcenter,无奈没有找到转载的按钮,决定自己写一篇.
因为在上传的过程中,我也遇到了许多问题,也算是记录一下,希望能帮助其他人少踩一点坑吧,注:步骤与鸿神的博客不太一样,因为直接使用鸿神博客上的步骤,上传了十几次也没有成功.
鸿神博客提到的步骤,我可能会简单带过,建议先看一下鸿神的博客.
首先最好把你的lib和你的sample module上传到github上面,至于怎么上传到github上就不多说了,网上的教程太多了,而且方法也很多.
上传成功后,我们就有一个github地址了,类似这样
https://github.com/sunflowerseat/PathAnim
接下来注册一个bintary.com的账号,最好翻墙后再访问,速度会快一点.
也可以使用三方登录如github,我就是用github登录的.
进入到maven页面下,如:
https://bintray.com/sunflowerseat/maven
导入一个github项目
![](http://img.blog.csdn.net/20160620115315909)
选择一个项目
![](http://img.blog.csdn.net/20160620115411410)
成功导入后,可以看到maven下多了一个包
![](http://img.blog.csdn.net/20160620115454504)
点击查看详情:
![](http://img.blog.csdn.net/20160620115538223)
建好bintary包之后
在项目的build,gradle中加入
在待上传的lib中添加
顺便提一点,之前信息配置都检查过没有问题,但还是提示maven不存在,或者unauthorized之类的信息.因为bintary.com的用户名是有两个的,当时不知道到底使用哪个用户名,试了很多次.其实两个用户名都是可以的,关键是apikey要填写正确.可能之前项目有些配置不对,总之后来新建项目后就上传成功了.
在Terminal命令行中输入
如图:
![](http://img.blog.csdn.net/20160620123927505)
如果是第一次上传项目到jcenter,可能会给你下载一个gradle,如果直接开始编译了,说明gradle符合要求,可以跳过不看这一步.
事实上,我当时就卡在这一步了,没有翻墙,后来有大神帮我解决了,AS默认在国外的网站下载gradle,如果有翻墙软件一定要先翻墙,再执行上传命令,基本翻了墙下载也可能会比较慢的.
解决方案是,打开工程目录下的gradle->wrapper->gradle-wrapper.properties 找到distributionUrl,看一下gradle的版本,到网上找一个对应版本的下载地址,替换这个Url.
或者下载一个对应版本的gradle到本地文件夹,使用nodejs(如果没有要先下载)anywhere命令,生成一个远程链接,替换上面的Url
上面提到的操作只需要操作一次,以后再上传就不会就会直接使用下载好的gradle了.
然后重新输入编译上传命令,看到Build success你就成功了
![](http://img.blog.csdn.net/20160620122809173)
一般会有四个.
如果编译失败,不要着急,命令行会提供错误信息的.
比如包含不可映射字符之类的错误,删掉中文注释就行了,或者添加编码的代码.
在项目的build.gradle中添加
如果pom文件缺失,就要检查一下你的配置是否正确了,修改后,重启AS重新执行以上操作.
如果提示unauthorized的,仔细检查用户名和apikey是否正确.如果你确定以及肯定信息正确,可能是AS有点问题,我也碰到这种情况,始终无法上传成功.重启AS,同步并clean一下你的工程.再试.
最后就是在profile页面点击 加入到jcenter按钮,审核通过之后,会发邮件给你,该页面下的link to也会多一个图标.有了这个图标之后,就可以使用了.
第一次发布项目到jcenter,总会遇到各种各样的问题,关键是要耐心 细心,还有不断尝试.一定要确保每个操作的准确性.
如果一直上传不成功,可能是真的运气不好,明天再试吧,说不定就成功了噢.
看了博客如果还有什么不懂的地方,欢迎加群讨论哦.
群号:283272067
在网上找了很多文章,自己也试了很多方法,最后还是参照鸿神这篇文章上传上去了.说起上传库的过程,真是太心酸了.本来想转载鸿神的 快速发布项目到jcenter,无奈没有找到转载的按钮,决定自己写一篇.
因为在上传的过程中,我也遇到了许多问题,也算是记录一下,希望能帮助其他人少踩一点坑吧,注:步骤与鸿神的博客不太一样,因为直接使用鸿神博客上的步骤,上传了十几次也没有成功.
鸿神博客提到的步骤,我可能会简单带过,建议先看一下鸿神的博客.
首先最好把你的lib和你的sample module上传到github上面,至于怎么上传到github上就不多说了,网上的教程太多了,而且方法也很多.
上传成功后,我们就有一个github地址了,类似这样
https://github.com/sunflowerseat/PathAnim
接下来注册一个bintary.com的账号,最好翻墙后再访问,速度会快一点.
也可以使用三方登录如github,我就是用github登录的.
进入到maven页面下,如:
https://bintray.com/sunflowerseat/maven
导入一个github项目
选择一个项目
成功导入后,可以看到maven下多了一个包
点击查看详情:
建好bintary包之后
在项目的build,gradle中加入
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.2.3' classpath 'com.novoda:bintray-release:0.3.4' } }
在待上传的lib中添加
apply plugin: 'com.novoda.bintray-release'//添加
publish { userOrg = 'sunflowerseat'//bintray.com用户名 groupId = 'com.fancy.library'//jcenter上的路径,要保持与之前导入到bintary中的package名一致 artifactId = 'pathanim'//项目名称 publishVersion = '1.0.1'//版本号 desc = 'this is a path animation library.'//描述 website = 'https://github.com/sunflowerseat/PathAnim'//填写之前上传到github后的地址 }
顺便提一点,之前信息配置都检查过没有问题,但还是提示maven不存在,或者unauthorized之类的信息.因为bintary.com的用户名是有两个的,当时不知道到底使用哪个用户名,试了很多次.其实两个用户名都是可以的,关键是apikey要填写正确.可能之前项目有些配置不对,总之后来新建项目后就上传成功了.
在Terminal命令行中输入
gradlew clean build bintrayUpload -PbintrayUser=your username -PbintrayKey=your apikey -PdryRun=false
如图:
如果是第一次上传项目到jcenter,可能会给你下载一个gradle,如果直接开始编译了,说明gradle符合要求,可以跳过不看这一步.
事实上,我当时就卡在这一步了,没有翻墙,后来有大神帮我解决了,AS默认在国外的网站下载gradle,如果有翻墙软件一定要先翻墙,再执行上传命令,基本翻了墙下载也可能会比较慢的.
解决方案是,打开工程目录下的gradle->wrapper->gradle-wrapper.properties 找到distributionUrl,看一下gradle的版本,到网上找一个对应版本的下载地址,替换这个Url.
或者下载一个对应版本的gradle到本地文件夹,使用nodejs(如果没有要先下载)anywhere命令,生成一个远程链接,替换上面的Url
上面提到的操作只需要操作一次,以后再上传就不会就会直接使用下载好的gradle了.
然后重新输入编译上传命令,看到Build success你就成功了
一般会有四个.
如果编译失败,不要着急,命令行会提供错误信息的.
比如包含不可映射字符之类的错误,删掉中文注释就行了,或者添加编码的代码.
在项目的build.gradle中添加
allprojects { tasks.withType(Javadoc) { options{ encoding "UTF-8" charSet 'UTF-8' links "http://docs.oracle.com/javase/7/docs/api" } } }
如果pom文件缺失,就要检查一下你的配置是否正确了,修改后,重启AS重新执行以上操作.
如果提示unauthorized的,仔细检查用户名和apikey是否正确.如果你确定以及肯定信息正确,可能是AS有点问题,我也碰到这种情况,始终无法上传成功.重启AS,同步并clean一下你的工程.再试.
最后就是在profile页面点击 加入到jcenter按钮,审核通过之后,会发邮件给你,该页面下的link to也会多一个图标.有了这个图标之后,就可以使用了.
第一次发布项目到jcenter,总会遇到各种各样的问题,关键是要耐心 细心,还有不断尝试.一定要确保每个操作的准确性.
如果一直上传不成功,可能是真的运气不好,明天再试吧,说不定就成功了噢.
看了博客如果还有什么不懂的地方,欢迎加群讨论哦.
群号:283272067
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories