转载

Android发布依赖库详解

我们平时开发的时候经常会用到第三方库,一句代码就可以实现依赖,很方便对不对?今天一起来学习一下发布依赖库的几种方式,看完之后你也可以发布自己的第三方库,造轮子给别人用,是不是挺有成就感 (๑>◡<๑)

方式一:发布到 jitpack

这种方式很简单,但是因为 Android Studio 默认不支持 jitpack,所以添加依赖的时候需要额外在工程根 build.gradle 文件里面添加 maven { url 'jitpack.io' }

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

Android发布依赖库详解

2.分享到Github,填写Github的账号密码,提交上去就可以了。

Android发布依赖库详解

3.打开自己的Github主页,找到这个工程,点releases

Android发布依赖库详解

发布一个版本

Android发布依赖库详解

填版本号,标题和描述都是选填的,点发布

Android发布依赖库详解

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

Android发布依赖库详解

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.查看账户密钥,拿小本本记下来,上传的时候要用到的。

Android发布依赖库详解
Android发布依赖库详解

3.创建一个仓库,记住仓库名

Android发布依赖库详解

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

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 文件里添加

Android发布依赖库详解

8.此时的你可能会疑惑,为什么还是要在工程根 build.gradle 文件里添加额外的代码?别急我们还差最后一步,提交到 jcenter 审核,一般第二天就会审核通过,审核通过后只会收到站内信,然后就可以直接依赖啦。

Android发布依赖库详解

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

原文  https://juejin.im/post/5d3c9e57f265da1ba6483623
正文到此结束
Loading...