0%

发布库途径jitpack & jcenter指南

前言

相信好多小伙伴从小白,到接触到社区的大门,有github这等基友平台,大大开放了生产力.而作为新四有青年,应该拥有分享的精神,要回馈社区.而很多人看到上传到maven仓库要N多配置就望而却步,前阵子刚好对这块做了一定的实践,特此记录一下.

jitpack

相对来讲jitpack是非常方便上传库的.简单来讲.就是github建个project,打好tag,然后进行打包即可使用.优点很明显,缺点是.偶尔jitpack在长宽之类的渣渣网络会压根下不来依赖,有时候连电信都压不住.原因未明.开了xx-net/ss都不行.

言归正传.下面开始入正题

新建lib-module

此处省略100W字…只是Android Studio的基本操作罢了.

进行build.gradle配置

项目根目录中build.gradle声明.版本自己mavenSearch

buildscript {
    dependencies {
        //...
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
    }
}

lib-moudule的build.gradle里面也进行配置

//...
apply plugin: 'com.github.dcendents.android-maven'
group = 'com.github.chenzj-king'  //这里填写你的github-name

新建github项目.并且push上去

新建项目和push代码上去省略100字

打release来准备打包

进入打包入口

进行打包

进行打包的相关信息填写

登录jitpack进行打包

打包成功后可以看到结果

所以说.jitpack的上传是so easy.也不需要进行审核.只需要提供一下github的一个project就ok.

jcenter

jcenter是google本身相关的库的大本营.可以看到新建项目默认仓库就是jcenter.在我的使用过程中.用了一个novoda的gradle plugin.可以非常方便的进行上传库.

注册&登录jcenter账号

一般来讲直接用github账号来第三方登录即可.这样也相对比较方便.

登录成功

获取key

打开个人设置

得到Api Key

配置key到local.properties

进行build.gradle配置

项目根目录的build.gradle中.添加如下配置

buildscript {
    dependencies {
        //...
        classpath 'com.novoda:bintray-release:0.3.4'
    }
}

在lib的build.gradle中.如下配置:

//...
apply plugin: 'com.novoda.bintray-release'

Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
def bintrayUserVal = properties.getProperty('bintrayUser')
def bintrayKeyVal = properties.getProperty('bintrayKey')


//若需要javadoc.需要设置一下编码和过滤一下错误.如果有自定义过class的注释带特殊符号等导致无法编译必备task配置
tasks.withType(Javadoc) {
    options.addStringOption('Xdoclint:none', '-quiet')
    options.addStringOption('encoding', 'UTF-8')
}

publish {
    userOrg = 'chenzj-king'  //jcenter的用户名
    groupId = 'com.dreamliner.lib'	//组织id
    artifactId = 'JcenterSample'	//libName
    publishVersion = '1.0.0'		//libVersion
    desc = 'Just a jcenter upload sample' //lib desc
    website = 'https://github.com/chenzj-king/JcenterSample' //lib的地址
    bintrayUser = bintrayUserVal //上面task中读取到的jcenterName
    bintrayKey = bintrayKeyVal //上面task中读取到的apiKey
    dryRun = false
}

一键打包.提交审核

执行task进行打包

打包成功log

jcenter后台查看

提交审核

提交审核入口

进行信息填写

提交成功

提交成功之后.只需要等待4-6个小时.基本上就能发送邮件提示审核通过.然后就可以快乐的玩耍了

总结

大概的操作步骤已经介绍完毕.其实操作起来都不麻烦.主要是弄起来可能因为各种依赖等问题导致很慢.然后丧失了耐心.就放弃了.程序猿还是需要耐得住寂寞啊. 相关sample github地址如下:JitPackSampleJcenterSample.有需要可以参考借鉴一下.一起进步.

坚持原创技术分享,您的支持将鼓励我继续创作!