AndroidLibrary上传至maven仓库和Jcenter教程,看这一篇就够了!

版权声明:本文为博主原创文章,转载请注明出处。
CSDN: https://blog.csdn.net/Code_XiaoLu/article/details/80945005
:https://www.jianshu.com/p/008f95854a35

前言

当我们想使用某些开源框架时:比如Glide
我们会这样做:

implementation 'com.github.bumptech.glide:glide:4.7.1'

这时候Gradle会自动帮我们将Glide库加载到项目中。
那么如何将我们自己的库放到Maven中供别人下载呢,下面我将演示从library的创建到上传到maven的过程。

Setp1

  1. 注册bintray账号: 注册地址
    邮箱尽量填Gmail,否则可能无法收到邮件,注册成功后 新建一个仓库
    20180706173354718.png

这里和在github新建仓库很类似,新建成功后,准备工作就做完了。

2.创建项目
下面我们自定义一个View来实现倒计时,首先新建项目,新建完成之后,点击新建一个Module,注意这里要选择Android Library


![20180706174757445.png](https://upload-images.jianshu.io/upload_images/1913040-80699cb5b47623bd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

新建完成之后,打开新建的Module,新建一个类继承TextView来实现我们的倒计时功能,代码很简单这里不做演示。


20180706174757445.png

3.准备上传至Maven
首先打开项目的gradle,添加一个插件

classpath 'com.novoda:bintray-release:0.8.0'

最新的版本号大家去这里查看 最新版本号

下面打开我们新建Module的gradle,注意不要打开错了,添加下面的代码

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

publish {
    userOrg = '创建的账户名称'
    groupId = 'com.crcker.countDownView' :包名
    artifactId = 'maven'    :新建仓库的名字
    version = '1.0.0'    : 版本号
    description = 'simple countDownView'  :描述 可随意写
    website = "https://github.com/donglulu/countDownView"  :代码地址github,也可不写
}

如图所示:

20180706175931124.png

这时候点击右上角的sync,如果报错,可能插件版本过低导致,可以去github选择最新版重新构建即可。

构建成功之后需要通过插件进行上传

我们用AndroidStudio自带的Terminal输入以下命令进行构建和上传

$ ./gradlew clean build bintrayUpload -PbintrayUser=用户名 -PbintrayKey=你自己的key -PdryRun=false

你自己的key: 点击这里查看Api key

回车之后将会自动构建library然后上传至maven,稍等片刻如果看到以下提示,说明上传成功。

BUILD SUCCESSFUL in 1m 44s
129 actionable tasks: 126 executed, 3 up-to-date

下面我们打开我们新建的仓库,发现里面已经新增了一个项目,如下图:


20180706181315271.png

使用时添加我们的maven仓库即可

allprojects {
    repositories {
        google()
        jcenter()
        maven {url = " https://dl.bintray.com/crcker/maven"}
    }
}

然后在项目的gradle中加入依赖

implementation 'com.crcker.countDownView:maven:1.0.0'

此时我们点击sync,gradle将会自动帮我们将项目下载到本地并依赖,下面我们添加我们写的倒计时View,然后可以看到我们的项目成功运行:

20180706182823817 (2).gif

未完待续.....

你可能感兴趣的:(AndroidLibrary上传至maven仓库和Jcenter教程,看这一篇就够了!)