Android发布依赖库详解

咱们平时开发的时候常常会用到第三方库,一句代码就能够实现依赖,很方便对不对?今天一块儿来学习一下发布依赖库的几种方式,看完以后你也能够发布本身的第三方库,造轮子给别人用,是否是挺有成就感 (๑>◡<๑)android

方式一:发布到 jitpack
这种方式很简单,可是由于 Android Studio 默认不支持 jitpack,因此添加依赖的时候须要额外在工程根 build.gradle 文件里面添加 maven { url 'jitpack.io' }

1.建立一个工程,建立git仓库 git

建立git仓库

2.分享到Github,填写Github的帐号密码,提交上去就能够了。 github

上传到Github

3.打开本身的Github主页,找到这个工程,点releases web

工程主页
发布一个版本
发布新版本
填版本号,标题和描述都是选填的,点发布
建立新版本

4.打开 jitpack.io/ 网站,输入你的Github项目地址,点 look up,选择须要发布的版本,Get it,就 OK 了 windows

jitpack 发布

jitpack 发布方式简单快速,有如下几点须要注意:
  1. 建立 module 的时候,Android Library 最终生成的是 aar包,Java Library 对应 jar包。
  2. 工程单依赖的状况下(一个app依赖一个module),最终生成的依赖包是被依赖的那个 module。
  3. 若是工程里有多个module相互依赖,直接打包的话是会生成多个依赖包的,如须要生成指定 module 的依赖包,须要以下操做:
1.在工程根 build.gradle 文件里 buildscript - dependencies 添加 :
  classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
  注意此处的插件版本号要跟你的 gradle 插件版本号相匹配,匹配关系表查看:
  https://github.com/dcendents/android-maven-gradle-plugin#note-on-releases
2.在须要打包的 module 的 build.gradle 文件顶部添加插件:
  apply plugin: 'com.github.dcendents.android-maven'
复制代码

##### 方式二:发布到 jcenter ###### 这种方式稍微复杂一点,但由于是 Android Studio 建立工程时的默认仓库地址,别人依赖的时候不须要在根 build.gradle 添加额外的代码 1.去 bintray 注册一个帐号:[https://bintray.com/](https://bintray.com/),注意不要注册机构审查帐号。 ![登录页面](https://upload-images.jianshu.io/upload_images/3572981-87371451ab49b3e5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1024)

2.查看帐户密钥,拿小本本记下来,上传的时候要用到的。 bash

右上角头像
密钥

3.建立一个仓库,记住仓库名app

用户主页

4.在工程根 build.gradle 文件 buildscript - dependencies 里添加插件依赖maven

classpath 'com.novoda:bintray-release:0.9'
// 注意此处的版本号,网上的教程 90% 的失败缘由都是由于插件版本号没配置好,
// 插件 Github 主页:https://github.com/novoda/bintray-release
// 插件 release 页面能够查看适配版本:https://github.com/novoda/bintray-release/releases
复制代码

5.在须要发布的 module 的 build.gradle 文件的最外层添加学习

apply plugin: 'com.novoda.bintray-release'
publish {
    userOrg = '******' // bintray用户名
    repoName = 'maven' // bintray仓库名
    groupId = 'com.*****.*****' // 决定最后依赖的路径
    artifactId = '********' // 决定最后依赖的名称
    publishVersion = '1.0.0' // 决定最后依赖的版本号
    desc = '********************' // 描述
    website = '********************' // 项目网站,能够用 Github 地址
    dryRun = false // true-仅运行  false-运行+上传
}
复制代码
// 最终依赖的路径
compile 'groupId:artifactId:publishVersion'
复制代码

6.在 Android Studio 的 Terminal 执行发布命令测试

// mac
./gradlew clean build bintrayUpload -PbintrayUser=bintray用户名 -PbintrayKey=bintray密钥
// windows
gradlew clean build bintrayUpload -PbintrayUser=bintray用户名 -PbintrayKey=bintray密钥
复制代码

7.看到 BUILD SUCCESSFUL 就是发布成功了,网页里打开 bintray 上建立的仓库,会发现里面已经多了刚才上传的依赖包,好奇的宝宝能够测试一下,在工程根 build.gradle 文件 allprojects - repositories 里面添加

maven { url 'https://dl.bintray.com/用户名/仓库名' }
复制代码

module 的 build.gradle 文件里添加

项目主页

8.此时的你可能会疑惑,为何仍是要在工程根 build.gradle 文件里添加额外的代码?别急咱们还差最后一步,提交到 jcenter 审核,通常次日就会审核经过,审核经过后只会收到站内信,而后就能够直接依赖啦。

发布 jcenter

有问题的小伙伴在下面留言哦 ~

相关文章
相关标签/搜索