




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
把手图文并茂教你发布Android开源库今天的Agenda如下:主工程下的的build.gradle配置Maven,jcenter服务创建一个类module上传类库到jcenter仓库 注册/bintray账号添加package添加bintray插件编译类库配置perties添加Bintray认证Android Studio终端使用命令上传Bintray中同步到Jcenter,发送打包请求升级类库,再打包过程背景AndroidStudio是从Maven Repository 下载类库的。基本上有jcenter和Maven Central这两个服务器用于下载Android的类库。 在工程(注意是主工程下的)中的build.gradle有一段脚本如下:buildscript repositories jcenter() /jcenter仓库 mavenCentral() /Maven Central仓库 dependencies classpath com.android.tools.build:gradle:2.1.0 classpath com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2 classpath com.github.dcendents:android-maven-gradle-plugin:1.3 / NOTE: Do not place your application dependencies here; they belong / in the individual module build.gradle files allprojects repositories jcenter() 了解到Google studio团队最先使用MavenCentral作为远程仓库下载我们用的编译类库的。 MavenCentral有一些问题。首先是对于开发者体验不好,种种原因Google studio团队远程仓库换成jcenter。 jcenter有一个打包工厂,每天特别多的类库从此诞生,用于github上各种项目中。 像我们平时在app目录下build.gradle中的dependencies中经常看到的:compile com.hejunlin.superindicatorlibray:superindicatorlibray:1.0.31这是什么意思呢?它实际上相当于GROUP_ID:ARTIFACT_ID:VERSION1在这句代码里面的GROUP_ID是com.hejunlin.superindicatorlibray,ARTIFACT_ID是superindicatorlibray(类库名),VERSION是1.0.3。创建一个类module首先在Android Studio中点击File菜单,选择New-New Module,然后在弹出视图中选择Android Library,点击Next后填写库的名称。创建完新的library后就可以写公用部分的类代码了,我这里是写superindicatorlibray,写好后,肯定还得有一个sample之类的测试这个类库,我用的是默认app工程,里面有Activity之类的,接下来就在app工程引用这个类库,在app下的build.gradle中添加依赖:compile project(:superindicatorlibray) /冒号后是你的类库的名字 本地充分测试好后,接着你就上要开始上传jcenter仓库了。上传类库到jcenter仓库那么如何上传你的类库到jcenter仓库?注册Bintray用户,Bintray是一个可以托管Android库的平台,JCenter则由Bintray进行维护的。打开/,进行注册,然后登录。点击add,然后如图填写:填完后,如出现前面图中那样,有一个maven的仓库,接下来要在这里添加package,点击Add New Package,如图:现在一个空仓库和一个package已经创建好了,接下来要在studio,写脚本配置,上传类库添加bintray插件在module中类库下build.gradle中添加如下脚本apply plugin: com.jfrog.bintray/添加bintray插件apply plugin: com.github.dcendents.android-maven12Bintray在上传库时需要一个pom文件,而这个文件可以让Maven插件自动生成,但你还是需要给出groupId和version的值,将下面这两行代码添加到库module的build.gradle中。group = com.hejunlin.superindicatorlibrayversion = 1.0.312编译类库 写过ant脚本的话,知道,ant中都是一个个target,而gadle中是task,所以接下来写几个task,对应分别分别生成Jar,Javadoc和JavadocsJar,将下面三个task代码添加到库module的build.gradle文件即可。task generateSourcesJar(type: Jar) from android.sourceSets.main.java.srcDirs classifier sourcestask generateJavadocs(type: Javadoc) source = android.sourceSets.main.java.srcDirs /source指定了源码位置 classpath += project.files(android.getBootClasspath().join(File.pathSeparator)/这里dependsOn意为仅当generateJavadocs完成后才开始本task,和ant脚本也是对应的。task generateJavadocsJar(pe: Jar, dependsOn: generateJavadocs) from generateJavadocs.destinationDir classifier javadoc将本地编译过的类库及源码及doc文件上传到Maven仓库中package中,需要将task添加到一个archive中,只需要向库module下的build.gradle中添加如下代码:artifacts archives generateJavaDocsJar archives generateSourcesJar配置perties添加Bintray认证接下来还要配置perties添加Bintray认证,git提交时,也会让你填用户名和密码,那jcenter,如何配置呢? 我们须要本地perties文件下配置,如果没有没有就创建一个,放在主工程目录下:内容如下:bintray.user=你的Bintray注册时的名字bintray.apikey=xxxxxxxxxxxxxxxxxxxxx12接下来说下这个apikey在哪?输入密码,就可以得到这个key。接下来回到库module下的build.gradle中添加如下脚本:Properties properties = new Properties()properties.load(.rootProject.file(perties).newDataInputStream()bintray user = properties.getProperty(bintray.user) key = properties.getProperty(bintray.apikey) pkg repo = maven name = com.hejunlin.superindicatorlibray version name = 1.0.3-release desc = a superindicatorlibray for viewpager, banner vcsTag = 1.0.3 licenses = Apache-2.0 vcsUrl = /hejunlin2013/SuperIndicator.git websiteUrl = /hejunlin2013/SuperIndicator configurations = archivesAndroid Studio终端使用命令上传最后我们在Android studio中Terminal命令行中,执行:gradlew install如果顺利的话,过几分钟就会出现恭喜你,编译成功了,去类module看,多了个build的目录,这里东西一会要上传jcenter:接下来需要把build成功的文件upload到bintray上,同样在Terminal命令行,执行如下命令:gradlew bintrayUpload顺利的话,也会出现,和上面的图一样的BUILD SUCCESSFULBintray中同步到Jcenter,发送打包请求这时检查你在bintray创建的package,你会看到对应的版本号点击进去,如图,首次没有打包时,这里是一个add to jcenter的字样,我这里是打了包的。就变成了下图:点击那个箭头的“add to jcenter”,接下来会跳到一个Request to include package GradientUI in jcenter的页面,填下你的groupId,直接send,就会发起一个打包版本的请求, 过几个小时,通过jcenter那边的审核就会在bintray上收到jcenter那边的同意消息提醒。 恭喜你,你的类库上传到jcenter成功了!大家都可以用你的类库了。升级类库,再打包过程我们上传完成后,如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乐山辅警考试题库2025(有答案)
- 出血血栓止血课件
- 2025高级导游综合知识考试全真模拟试题及答案
- 企业安全教育培训交警课件
- 出租车加油站安全培训课件
- 出入量与体重的课件
- 2025合同违约的补救策略
- 卫华招聘笔试题库2025
- 2025年LED照明系统合同能源管理合同
- 冲床安全培训课件
- 2.1人的社会化 教案 2025-2026学年统编版道德与法治八年级上册
- 2025入团考试题库(完整版)附答案详解
- 新粒子生成与生长机制-洞察及研究
- 医疗机构环境表面清洁与消毒管理标准WST512-2025解读
- GB/T 34399-2025医药产品冷链物流温控设施设备验证性能确认技术规范
- 《酒店营销与数字化实务》课件5模块五课件
- 厦门闽南话趣味教学课件
- 2025年秋期新课标人教版六年级上册数学全册教案(核心素养教案)
- 人教版四年级上册数学各单元教材分析(1-4单元)
- 2025外科招聘面试题及答案
- 陕西燃气器具管理办法
评论
0/150
提交评论