android開源庫發(fā)布到j(luò)center圖文詳解與填坑

相信很多人都用過開源項目,特別是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ù)器下載類庫的。基本上有jcenterMaven 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)去。

bintray登錄

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

創(chuàng)建倉庫

3、創(chuàng)建倉庫
創(chuàng)建倉庫

4、Add New Package

創(chuàng)建Package

創(chuàng)建Package

5、選擇要上傳的AndroidStudio項目

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項目。

.gitignore

如下:

bintray.user=YOUR_BINTRAY_USERNAME
bintray.apikey=YOUR_BINTRAY_API_KEY

username就是你bintray賬號的用戶名
apikey在這里查找:

Edit Profile
Edit
API KEY

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"]
}
build.gradle

我們引用該類庫的代碼就是:

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í)行如下命令

Terminal窗口
gradlew install

順利的話之后會出現(xiàn):

BUILD SUCCESSFUL
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按鈕

點擊右下角的Add to JCenter按鈕
Send

跳到一個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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容