相信很多人都用過開源項目,特別是android studio普及以后,使用開源庫更方便簡單。而如何上傳開源庫到j(luò)center供大家方便使用,雖然網(wǎng)上也有教程,但還是遇坑了,最后總結(jié)一下,希望可以幫助大家。
【csdn地址:http://blog.csdn.net/zhangke3016/article/details/52075159】
【本文簡書地址: http://www.itdecent.cn/p/0acf9e05b27e】同步更新
AndroidStudio是從Maven Repository 服務(wù)器下載類庫的。基本上有jcenter和Maven Central這兩個服務(wù)器用于下載Android的類庫。
在代碼里配置如下: jcenter倉庫
allprojects {
repositories {
jcenter()
}
}
Maven Central倉庫:
allprojects {
repositories {
mavenCentral()
}
}
首先我們看看寫的gradle代碼的含義:
compile 'com.mrzk.loadingview:circleloadinglibrary:1.1.0'
其組成是這樣的:
GROUP_ID:ARTIFACT_ID:VERSION
GROUP_ID指的是com.mrzk.loadingview,類似于包名;ARTIFACT_ID指的是circleloadinglibrary,類似于類庫的名稱;VERSION是1.1.0,也就是版本號。
1、在bintray.com上面注冊一個賬號,然后登錄進(jìn)去。

2、注冊登錄完成之后,創(chuàng)建倉庫

3、創(chuàng)建倉庫

4、Add New Package


5、選擇要上傳的AndroidStudio項目

6、設(shè)置bintray的username和API Key來進(jìn)行bintray的加密認(rèn)證
將這些信息寫在local.properties文件里。寫在local.properties的原因在于,bintray的username和APIKey是敏感的私人信息,應(yīng)該保管好而不是把它上傳到github上,正好把local.properties文件寫在.gitignore里面過濾掉,不會影響上傳的github項目。

如下:
bintray.user=YOUR_BINTRAY_USERNAME
bintray.apikey=YOUR_BINTRAY_API_KEY
username就是你bintray賬號的用戶名
apikey在這里查找:



7、配置庫module的build.gradle文件
ext {
bintrayRepo = 'maven'
bintrayName = 'circleloadinglibrary'
publishedGroupId = 'com.mrzk.loadingview'
libraryName = 'circleloadinglibrary'
artifact = 'circleloadinglibrary'
libraryDescription = 'a circle loading for android'
siteUrl = 'https://github.com/zhangke3016/CircleLoading'
gitUrl = 'https://github.com/zhangke3016/CircleLoading.git'
libraryVersion = '1.1.0'
developerId = 'mrzk'
developerName = 'zhangke'
developerEmail = '609975727@qq.com'
licenseName = 'The Apache Software License, Version 2.0'
licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
allLicenses = ["Apache-2.0"]
}

我們引用該類庫的代碼就是:
compile 'com.mrzk.loadingview:circleloadinglibrary:1.1.0'
8、配置bintray upload的相關(guān)代碼
build.gradle文件的最末行添加下面兩行代碼:
apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle'
apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle'
9、整個project的build.gradle里面添加最后三行代碼
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.0.0"
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
}
10、在AndroidStudio提供的Terminal窗口執(zhí)行如下命令

gradlew install
順利的話之后會出現(xiàn):
BUILD SUCCESSFUL

接下來需要把build成功的文件upload到bintray上:
gradlew bintrayUpload
一切順利之后也會出現(xiàn):
BUILD SUCCESSFUL
注意,這里有坑。我在build過程中,出現(xiàn)javadoc生成失敗的問題,在生成javadoc時有檢查文檔的正確性,但是這里的檢查有點過于嚴(yán)格了,像
這種的注釋都會導(dǎo)致生成失敗,而且由于使用的是Windows系統(tǒng),默認(rèn)編碼是GBK,所以在上傳編譯時報了編碼的錯誤問題。
解決方法:
在庫項目的build.gradle里添加:
allprojects {
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
options.addStringOption('encoding', 'UTF-8')
}
}
11、同步library文件到創(chuàng)建的bintray倉庫
點擊右下角的Add to JCenter按鈕


跳到一個Request to include the package 'test' in 'jcenter'的頁面,什么都不用做,直接點擊Send按鈕就可以了。
大概1個小時左右,jcenter審核通過就會在bintray上收到同意消息提醒。 恭喜你,你的類庫上傳到j(luò)center成功了!
至此大家用我寫的類庫circleloading,僅僅只需要添加一行代碼:
compile 'com.mrzk.loadingview:circleloadinglibrary:1.1.0'
最后,
CircleLoading介紹就在我上一篇博客中,開源地址:CircleLoading