編輯:關於Android編程
相信很多人都用過開源項目,特別是android studio普及以後,使用開源庫更方便簡單。而如何上傳開源庫到jcenter供大家方便使用,雖然網上也有教程,但還是遇坑了,最後總結一下,希望可以幫助大家。
AndroidStudio是從Maven Repository 服務器下載類庫的。基本上有jcenter和Maven Central這兩個服務器用於下載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上面注冊一個賬號,然後登錄進去。
2、注冊登錄完成之後,創建倉庫
3、創建倉庫
4、Add New Package<喎?/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjwvcD4NCjxwPjxpbWcgYWx0PQ=="創建Package" src="/uploadfile/Collfiles/20160801/20160801093828943.png" title="\" />
5、選擇要上傳的AndroidStudio項目
6、設置bintray的username和API Key來進行bintray的加密認證
將這些信息寫在local.properties文件裡。寫在local.properties的原因在於,bintray的username和APIKey是敏感的私人信息,應該保管好而不是把它上傳到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 = '[email protected]' 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的相關代碼
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窗口執行如下命令
gradlew install
順利的話之後會出現:
BUILD SUCCESSFUL
接下來需要把build成功的文件upload到bintray上:
gradlew bintrayUpload
一切順利之後也會出現:
BUILD SUCCESSFUL
注意,這裡有坑。我在build過程中,出現javadoc生成失敗的問題,在生成javadoc時有檢查文檔的正確性,但是這裡的檢查有點過於嚴格了,像
這種的注釋都會導致生成失敗,而且由於使用的是Windows系統,默認編碼是GBK,所以在上傳編譯時報了編碼的錯誤問題。
解決方法:
在庫項目的build.gradle裡添加:
allprojects { tasks.withType(Javadoc) { options.addStringOption('Xdoclint:none', '-quiet') options.addStringOption('encoding', 'UTF-8') } }
11、同步library文件到創建的bintray倉庫
點擊右下角的Add to JCenter按鈕
跳到一個Request to include the package ‘test’ in ‘jcenter’的頁面,什麼都不用做,直接點擊Send按鈕就可以了。
大概1個小時左右,jcenter審核通過就會在bintray上收到同意消息提醒。 恭喜你,你的類庫上傳到jcenter成功了!
至此大家用我寫的類庫circleloading,僅僅只需要添加一行代碼:
compile 'com.mrzk.loadingview:circleloadinglibrary:1.1.0'
最後,
CircleLoading介紹就在我上一篇博客中,開源地址:CircleLoading
需求是這樣的:在應用程序的詳情介紹時,有評論的版塊,該頁評論最多顯示5條,而每條最大字數是140個字符,每條評論可能根據字數不同,所占據的高度也不一樣,如有的是1行,有的
我們都知道,微信群主只有踢人的權限,有時候要對群成員進行清理沒有權限又不知道誰是群主可怎麼辦?其實微信群設置裡可以查看誰是群主或者創建人,那麼微信群怎麼看誰
我們經常在做項目過程中遇到內存溢出的問題,同時面試中關於OOM的問題也常常出現。這裡,我將前輩們解決Andorid內存溢出的方法重新整理一番,方便自己以後使用。一、And
事實上之所以會有之前的那篇博文的出現,是起因於前段時間自己在寫一個練手的App時很快就遇到這種需求。其實我們可以發現類似這樣下拉刷新、上拉加載的功能正在變得越來越普遍,可