android开源库发布到jcenter图文详解与填坑
来源:互联网 发布:香港小鱼儿最近域名 编辑:程序博客网 时间:2024/06/05 19:38
相信很多人都用过开源项目,特别是android studio普及以后,使用开源库更方便简单。而如何上传开源库到jcenter供大家方便使用,虽然网上也有教程,但还是遇坑了,最后总结一下,希望可以帮助大家。
【csdn地址: http://blog.csdn.net/zhangke3016/article/details/52075159】
【本文简书地址: http://www.jianshu.com/p/0acf9e05b27e】同步更新
AndroidStudio是从Maven Repository 服务器下载类库的。基本上有jcenter和Maven Central这两个服务器用于下载Android的类库。
在代码里配置如下: jcenter仓库
allprojects { repositories { jcenter() } }
Maven Central仓库:
allprojects { repositories { mavenCentral() } }
首先我们看看写的gradle代码的含义:
compile 'com.mrzk.loadingview:circleloadinglibrary:1.1.0'
其组成是这样的:
GROUP_ID:ARTIFACT_ID:VERSION
GROUP_ID指的是com.mrzk.loadingview,类似于包名;ARTIFACT_ID指的是circleloadinglibrary,类似于类库的名称;VERSION是1.1.0,也就是版本号。
1、在bintray.com上面注册一个账号,然后登录进去。
2、注册登录完成之后,创建仓库
3、创建仓库
4、Add New Package
5、选择要上传的AndroidStudio项目
6、设置bintray的username和API Key来进行bintray的加密认证
将这些信息写在local.properties文件里。写在local.properties的原因在于,bintray的username和APIKey是敏感的私人信息,应该保管好而不是把它上传到github上,正好把local.properties文件写在.gitignore里面过滤掉,不会影响上传的github项目。
如下:
bintray.user=YOUR_BINTRAY_USERNAMEbintray.apikey=YOUR_BINTRAY_API_KEY
username就是你bintray账号的用户名
apikey在这里查找:
7、配置库module的build.gradle文件
ext { bintrayRepo = 'maven' bintrayName = 'circleloadinglibrary' publishedGroupId = 'com.mrzk.loadingview' libraryName = 'circleloadinglibrary' artifact = 'circleloadinglibrary' libraryDescription = 'a circle loading for android' siteUrl = 'https://github.com/zhangke3016/CircleLoading' gitUrl = 'https://github.com/zhangke3016/CircleLoading.git' libraryVersion = '1.1.0' developerId = 'mrzk' developerName = 'zhangke' developerEmail = '609975727@qq.com' licenseName = 'The Apache Software License, Version 2.0' licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt' allLicenses = ["Apache-2.0"]}
我们引用该类库的代码就是:
compile 'com.mrzk.loadingview:circleloadinglibrary:1.1.0'
8、配置bintray upload的相关代码
build.gradle文件的最末行添加下面两行代码:
apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle'apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle'
9、整个project的build.gradle里面添加最后三行代码
dependencies { classpath 'com.android.tools.build:gradle:2.0.0' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6' classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.0.0" classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3' }
10、在AndroidStudio提供的Terminal窗口执行如下命令
gradlew install
顺利的话之后会出现:
BUILD SUCCESSFUL
接下来需要把build成功的文件upload到bintray上:
gradlew bintrayUpload
一切顺利之后也会出现:
BUILD SUCCESSFUL
注意,这里有坑。我在build过程中,出现javadoc生成失败的问题,在生成javadoc时有检查文档的正确性,但是这里的检查有点过于严格了,像
这种的注释都会导致生成失败,而且由于使用的是Windows系统,默认编码是GBK,所以在上传编译时报了编码的错误问题。
解决方法:
在库项目的build.gradle里添加:
allprojects { tasks.withType(Javadoc) { options.addStringOption('Xdoclint:none', '-quiet') options.addStringOption('encoding', 'UTF-8') }}
11、同步library文件到创建的bintray仓库
点击右下角的Add to JCenter按钮
跳到一个Request to include the package ‘test’ in ‘jcenter’的页面,什么都不用做,直接点击Send按钮就可以了。
大概1个小时左右,jcenter审核通过就会在bintray上收到同意消息提醒。 恭喜你,你的类库上传到jcenter成功了!
至此大家用我写的类库circleloading,仅仅只需要添加一行代码:
compile 'com.mrzk.loadingview:circleloadinglibrary:1.1.0'
最后,
CircleLoading介绍就在我上一篇博客中,开源地址:CircleLoading
- android开源库发布到jcenter图文详解与填坑
- Android快速发布项目到jcenter详解
- Android Studio 发布library到jcenter详细图文教程
- Android Studio发布到Jcenter
- Android发布项目到JCenter
- Android 发布项目到jcenter
- Android 发布Library到Jcenter
- Android 发布项目到 jcenter 遇到的坑
- Android 发布项目到 JCenter 遇到的各种坑
- Android Studio发布项目到Jcenter
- 10分钟发布android library到jcenter
- Android开发发布lib到jcenter
- Android Studio发布项目到Jcenter
- Android 发布开源项目到jcenter
- Android 发布开源项目到jcenter
- 使用Android studio发布项目到jcenter
- Android 发布自己的library到Jcenter
- Android Studio发布项目到Bintray jCenter
- HDU 1217 Arbitrage 【最短路,map+spfa】
- 欢迎使用CSDN-markdown编辑器
- CentOS系统中安装vim编辑工具
- Python随学随记(5)
- 开发日志
- android开源库发布到jcenter图文详解与填坑
- 深度学习与自然语言处理(8)_斯坦福cs224d RNN,MV-RNN与RNTN
- BNU Training 2016.07.18 总结
- 2015-2016ACM-ICPC NEER northern-subregional-contest C Concatenation 思维好题
- 框架 day71 Solr 全文检索服务 入门
- 在打开android系统通讯录的数据库的时候报Error!!!!!!!
- _iter的一段程序
- 每天一个linux命令(30): chown命令
- bzoj3171循环格(费用流)