圖片發(fā)自簡(jiǎn)書App
眾所周知,將lib發(fā)布到j(luò)center的途徑五花八門,八仙過(guò)海各顯神通逆屡,各有各的插件圾旨,自己喜歡就好。我也在眾多的方法中迷失過(guò)魏蔗,有復(fù)雜也有簡(jiǎn)單砍的,遇到的問(wèn)題也奇奇怪怪,人都有選擇綜合征莺治,一旦選擇多了就無(wú)從下手廓鞠。還好我找到了一種相對(duì)簡(jiǎn)單的上傳方法。
首先你需要在https://bintray.com/上注冊(cè)一個(gè)賬號(hào)谣旁,這是必須的一步床佳,后面在上傳的時(shí)候會(huì)用到賬號(hào)的一些信息。有了賬號(hào)之后我們就可以開(kāi)始在Android Studio中對(duì)build.gradle文件進(jìn)行配置榄审,以實(shí)現(xiàn)將我們的lib庫(kù)上傳到j(luò)center中砌们。下面是build.gradle文件的配置步驟。
1.在項(xiàng)目根目錄下面的build.gradle中添加插件的依賴路徑搁进,以及通過(guò)ext配置私有l(wèi)ib信息浪感,包括庫(kù)的包名,庫(kù)名饼问,版本號(hào)影兽,庫(kù)的源代碼地址等等...
插件路徑依賴
dependencies {
classpath 'com.novoda:bintray-release:0.3.4'
}
庫(kù)信息的描述
def libVersion = "1.0.8"
ext {
userOrg = "iknow" //bintray.com用戶名
groupId = "com.github.iknow4" //jcenter上的路徑
publishVersion = libVersion //版本號(hào)
description = "It is a android utils Library"http://類庫(kù)的描述
website = "https://github.com/iknow4/Android-utils"http://該庫(kù)在github上對(duì)應(yīng)的鏈接
uploadName = "AndroidUtils" //上傳在bintray的文件夾
licences = ["Apache-2.0"]
}
完整的code如下:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
classpath 'com.novoda:bintray-release:0.3.4'
}
}
def libVersion = "1.0.8"
ext { userOrg = "iknow" //bintray.com用戶名
groupId = "com.github.iknow4" //jcenter上的路徑
publishVersion = libVersion //版本號(hào)
description = "It is a android utils Library"http://類庫(kù)的描述
website = "https://github.com/iknow4/Android-utils"http://該庫(kù)在github上對(duì)應(yīng)的鏈接
uploadName = "AndroidUtils" //上傳在bintray的文件夾
licences = ["Apache-2.0"]
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
2.在主工程目錄下面的build.gradle文件中,將插件'com.novoda.bintray-release'莱革,apply到build.gradle中赢笨。
添加插件依賴:
apply plugin: 'com.novoda.bintray-release' //添加插件依賴
增加發(fā)布模塊:
//添加發(fā)布模塊
publish {
artifactId = 'android-utils-sdk'//模塊名稱
userOrg = rootProject.userOrg
groupId = rootProject.groupId
uploadName = rootProject.uploadName //模塊上傳后所在的文件夾名稱
publishVersion = rootProject.publishVersion//模塊版本號(hào)
desc = rootProject.description//模塊的描述
website = rootProject.website //模塊的網(wǎng)站
licences = rootProject.licences //模塊的licences
}
完整的代碼如下:
apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release' //添加插件依賴
android {
compileSdkVersion 23
buildToolsVersion "24.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
//添加發(fā)布模塊
publish {
artifactId = 'android-utils-sdk'//模塊名稱
userOrg = rootProject.userOrg
groupId = rootProject.groupId
uploadName = rootProject.uploadName //模塊上傳后所在的文件夾名稱
publishVersion = rootProject.publishVersion//模塊版本號(hào)
desc = rootProject.description//模塊的描述
website = rootProject.website //模塊的網(wǎng)站
licences = rootProject.licences //模塊的licences
}
3.在終端執(zhí)行./gradlew clean build bintrayUpload -PbintrayUser=xxx -PbintrayKey=xxx -PdryRun=false命令
其中PbintrayUser是你在https://bintray.com/注冊(cè)的用戶名,PbintrayKey是賬戶設(shè)置頁(yè)面下的key驮吱。
如果命令執(zhí)行成功茧妒,你的庫(kù)就上傳到bintray 網(wǎng)站上了,但是還無(wú)法被依賴使用左冬,需要將庫(kù)發(fā)布到j(luò)center 上桐筏,發(fā)布有時(shí)候需要等待一天時(shí)間,如果成功拇砰,你會(huì)收到發(fā)布成功的郵件梅忌。這時(shí)候,恭喜你除破,你和其他人就可以在Android Studio中依賴使用了牧氮,是不是覺(jué)得很不錯(cuò)。
以上是我選擇發(fā)布庫(kù)的一種方式瑰枫,自己覺(jué)得還是蠻簡(jiǎn)單的踱葛,從配置到最后發(fā)布命令丹莲,只需要三步,簡(jiǎn)稱:發(fā)布三部曲尸诽。需要注意的是甥材,發(fā)布是不能將相同版本的庫(kù)覆蓋的,所以每次發(fā)布的版本號(hào)要求不一樣性含。
可以參考我github上的一個(gè)項(xiàng)目Android-utils
該項(xiàng)目是一個(gè)開(kāi)發(fā)工具庫(kù)洲赵,如果想使用可以直接在build.gradle中進(jìn)行依賴
dependencies {
compile 'com.github.iknow4:android-utils-sdk:1.0.8'
}
THE END
國(guó)際慣例附上微信,如有問(wèn)題歡迎交流:

我的微信