使用Android Studio發佈開源庫到Bintray/Jcenter

使用Android Studio發佈開源庫到Bintray/Jcenter

Jcenter:一個代碼庫,相當於一個公共的存儲容器,簡單的來講就是你把你寫好的aar文件及一些文檔描述文件之類的東西打包上傳到Jcenter服務器上,其他人就可以通過Jcenter服務器下載到你上傳的包了。
Bintray:Bintray是負責維護Jcenter倉庫的網站,也就是說Jcenter的代碼庫是託管到Bintray上的。有個朋友舉了個很形象的栗子說把Jcenter看做是位於某地的倉庫,Bintray是送貨的卡車,你寫的庫就是貨了。實際上Bintray不僅支持Jcenter庫還支持很多平臺,Jcenter只是衆多平臺中的一個,每個人也都可以在Bintray創建賬戶生成自己的maven倉庫,下文就會帶着大家創建一個自己的maven倉庫,同時也將該類庫上傳到Jcenter中。
  1. 註冊Bintray賬號

這裏寫圖片描述
或者點我直接跳轉個人註冊頁面

  1. 註冊成功後 創建倉庫 點擊Add New Repository

在這裏插入圖片描述

  1. 配置倉庫信息,注意:Name爲倉庫名後面會用到 Type選擇Maven Licenses選擇Apache-2.0

在這裏插入圖片描述

  1. 上傳module,介紹一種配置極簡的方法
	a. 在project下的build.gradle中配置
		
		    dependencies {
		        classpath 'com.android.tools.build:gradle:3.4.1'
		        //注意:bintray版本和gradle版本有對應關係,根據自己的gradle版本改一下,否則編譯不通過
		        classpath 'com.novoda:bintray-release:0.9.1'
		    }
	
	b. 在需要上傳的module下的build.gradle中配置
			
		apply plugin: 'com.novoda.bintray-release'
	
    c. 基本配置信息,配置在module下build.gradle的最外層,我把這些變量值定義在了根目錄下的gradle.properties中
	
		publish {
		    artifactId = ARTIFACT_ID        // 你的模塊名稱,唯一
		    userOrg = USER_ORG              // bintray用戶名
		    groupId = GROUP_ID              // 模塊目錄
		    repoName = REPO_NAME            // 此字段爲你的倉庫名稱,默認爲'maven'
		    uploadName = ARTIFACT_ID
		    publishVersion =  VERSION       // 所需上傳類庫的版本號,如果提交新版本,版本號需要+1否則提交bintray會失敗
		    desc = DESC                     // 描述信息
		    website = WEB_SITE              // 網頁,一般就是該類庫的源碼地址
		    licences =  [APACHE_LICENCES]
		}
	
	 d. 配置完成,在AS的Terminal窗口執行上傳命令
	
		Window:
		gradlew clean build bintrayUpload -PbintrayUser=********  -PbintrayKey=****************************************  -PdryRun=false
		Mac:
		./gradlew clean build bintrayUpload -PbintrayUser=********  -PbintrayKey=**************************************** -PdryRun=false
		
		// PbintrayUser:替換爲你的bintray用戶名,我的是kwunyamshan
		// PbintrayKey:替換爲你的Key

Key如何獲取? 註冊登錄bintray後 點擊右上角頭像 ↓
在這裏插入圖片描述
在這裏插入圖片描述

  1. Terminal窗口執行命令 等控制檯輸出SUCCESSFUL,回到Bintray首頁選擇剛纔創建的MyRepo倉庫,就能看到剛上傳成功的庫了

在這裏插入圖片描述

  1. 上傳到Jcenter,找到該類庫 右上角Actions-> Add to Jcenter 添加一些描述信息提交(直接提交可能不通過) 等審覈通過就可以使用了

在這裏插入圖片描述

  1. 使用: 在app中引用該遠程類庫:在project下的build.gradle配置maven地址
    repositories {
        google()
        jcenter()
        //配置maven地址
        maven{url 'https://dl.bintray.com/kwunyamshan/MyRepo'}
    }

URL的獲取 點擊剛纔創建的倉庫MyRepo ↓
在這裏插入圖片描述

  1. 在app下的build.gradle引用該類庫
dependencies {
	...
    implementation 'com.wh.repo:bintraylib:1.0.2'
    
	//路徑規則:GROUP_ID :ARTIFACT_ID:VERSION,把定義在了根目錄下的gradle.properties的變量名替換成變量值
	//對應的就是:com.wh.repo:bintraylib:1.0.2
}

  1. 以上已經完成了所有配置,運行app,彈出Bintray~的吐司表示遠程倉庫配置成功
    當然你也可以引用發佈到Jcenter中的類庫,那麼第7步可以省略,有 jcenter()就可以了,不過前提是Jcenter審覈通過

Github傳送門

如果你也用Github維護某個類庫的源碼那麼你可以解鎖一個小有b格的小徽章咯
在這裏插入圖片描述
進入你創建的倉庫-> 找到你提交到Bintray的類庫->點擊Version欄中的Badge複製這個鏈接到你的ReadMe中吧~
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章