圖片發(fā)自簡書App
眾所周知,將lib發(fā)布到j(luò)center的途徑五花八門,八仙過海各顯神通,各有各的插件,自己喜歡就好。我也在眾多的方法中迷失過,有復雜也有簡單,遇到的問題也奇奇怪怪,人都有選擇綜合征,一旦選擇多了就無從下手。還好我找到了一種相對簡單的上傳方法。
首先你需要在https://bintray.com/上注冊一個賬號,這是必須的一步,后面在上傳的時候會用到賬號的一些信息。有了賬號之后我們就可以開始在Android Studio中對build.gradle文件進行配置,以實現(xiàn)將我們的lib庫上傳到j(luò)center中。下面是build.gradle文件的配置步驟。
1.在項目根目錄下面的build.gradle中添加插件的依賴路徑,以及通過ext配置私有l(wèi)ib信息,包括庫的包名,庫名,版本號,庫的源代碼地址等等...
插件路徑依賴
dependencies {
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 //版本號
description = "It is a android utils Library"http://類庫的描述
website = "https://github.com/iknow4/Android-utils"http://該庫在github上對應(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 //版本號
description = "It is a android utils Library"http://類庫的描述
website = "https://github.com/iknow4/Android-utils"http://該庫在github上對應(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//模塊版本號
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//模塊版本號
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/注冊的用戶名,PbintrayKey是賬戶設(shè)置頁面下的key。
如果命令執(zhí)行成功,你的庫就上傳到bintray 網(wǎng)站上了,但是還無法被依賴使用,需要將庫發(fā)布到j(luò)center 上,發(fā)布有時候需要等待一天時間,如果成功,你會收到發(fā)布成功的郵件。這時候,恭喜你,你和其他人就可以在Android Studio中依賴使用了,是不是覺得很不錯。
以上是我選擇發(fā)布庫的一種方式,自己覺得還是蠻簡單的,從配置到最后發(fā)布命令,只需要三步,簡稱:發(fā)布三部曲。需要注意的是,發(fā)布是不能將相同版本的庫覆蓋的,所以每次發(fā)布的版本號要求不一樣。
可以參考我github上的一個項目Android-utils
該項目是一個開發(fā)工具庫,如果想使用可以直接在build.gradle中進行依賴
dependencies {
compile 'com.github.iknow4:android-utils-sdk:1.0.8'
}
THE END
國際慣例附上微信,如有問題歡迎交流:

我的微信