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

有問題的小夥伴在下面留言哦 ~

相關文章
相關標籤/搜索