新版bintray教你如何把Android library上傳到JCenter倉(cāng)庫(kù)

bintary

前言

相信看到我這篇文章的人已經(jīng)踩了不少坑了娩井。新版bintray改版后芽隆,按照之前網(wǎng)上的教程出現(xiàn)了很多迷茫青自。很對(duì)東西對(duì)應(yīng)不上。接下來(lái)我來(lái)說(shuō)一下對(duì)應(yīng)不上的幾點(diǎn)栽烂。

1.Bintray賬號(hào)注冊(cè)

首先你的有個(gè) bintray賬號(hào)躏仇,如果沒(méi)有的話注冊(cè)一個(gè)(記得好像163郵箱不能注冊(cè)的)

Bintray.png

這就是新版的Bintray首頁(yè),多出了一個(gè)organization的tab和之前的有所不同腺办,而且你的創(chuàng)建的倉(cāng)庫(kù)入口只能通過(guò)這個(gè)來(lái)創(chuàng)建焰手。而不是通過(guò)本身來(lái)創(chuàng)建

2.創(chuàng)建一個(gè)屬于自己的repository

首頁(yè)很明顯可以看到一個(gè)Add New Repository的按鈕,打開(kāi)之后直接輸入這個(gè)repository的name怀喉,和type即可书妻,然后直接點(diǎn)擊create 就行了(其他的隨意)。


repository.png

3.創(chuàng)建Repository的Package

這個(gè)package主要就是來(lái)存放你的library


package.png

點(diǎn)擊Add New Package之后需要輸入一些信息


package.png

這是我的輸入的一些信息躬拢,大家可以參考躲履,website就是這個(gè)library在github上的地址,issue就是git的地址聊闯。

4.接下來(lái)就是studio的內(nèi)容(很多坑就在此)

1.配置Gradle Bintray Plugin工猜,在項(xiàng)目最外層的gradle里面添加

dependencies {
    classpath 'com.android.tools.build:gradle:1.2.3'
    classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
    classpath 'com.github.dcendents:android-maven-plugin:1.2'
}

2.接下來(lái)修改local.properties。在里面定義api key的用戶名以及被創(chuàng)建key的密碼菱蔬,用于bintray的認(rèn)證篷帅。之所以要把這些東西放在這個(gè)文件是因?yàn)檫@些信息時(shí)比較敏感的,不應(yīng)該到處分享汗销,包括版本控制里面犹褒。
下面是要添加的2行代碼:

bintray.user=YOUR_BINTRAY_USERNAME
bintray.apikey=YOUR_BINTRAY_API_KEY

重點(diǎn)重點(diǎn)重點(diǎn),不然你會(huì)出現(xiàn)各種奇葩的問(wèn)題404 401等什么鬼的

首先這個(gè)bintray.user名字是你的用戶名而不是organization的名字


name.png

看到了嗎就是這個(gè)賬號(hào)的名字弛针,不是下面的cuieneymaster,而是上面的cuieney

organization.png

好了 那接下來(lái)就是bintray.apikey在哪里獲取呢李皇∠髯拢看到上面那副圖了嗎?點(diǎn)擊Edit profile掉房。


profile.png

看到了把茧跋。就是這個(gè)API Key 輸入用戶密碼就可以拿到這個(gè)key了。好了卓囚,坑1已經(jīng)過(guò)去了瘾杭。
我們繼續(xù)studio部分

3.配置library里面的gradle內(nèi)容。
打開(kāi)gradle里面然后把下面兩行代碼添加進(jìn)去

    apply plugin: 'com.github.dcendents.android-maven'
    apply plugin: 'com.jfrog.bintray'

別問(wèn)為什么哪亿,按照這樣操作沒(méi)問(wèn)題
好吧我還是把圖貼上吧


屏幕快照 2016-12-29 上午11.54.10.png

哦對(duì)了粥烁,還有個(gè)version版本號(hào)贤笆,就是標(biāo)記你當(dāng)前提交的版本號(hào),沒(méi)什么讨阻。記得要寫(xiě)哦芥永,不過(guò)下面你也可以直接寫(xiě)在代碼里面。

那我們繼續(xù)钝吮,下面還有很多重要的代碼要貼的埋涧,

def siteUrl = 'https://github.com/Cuieney/Crossfader'   // 項(xiàng)目的主頁(yè)
def gitUrl = 'https://github.com/Cuieney/Crossfader.git'   // Git倉(cāng)庫(kù)的url
group = "com.cuieneylibrary.crossfader"            // Maven Group ID for the artifact,
install {    
      repositories.mavenInstaller {        
           // This generates POM.xml with proper parameters       
           pom {           
               project {                
                             packaging 'aar'                
                             // Add your description here                
                             name 'Let the music to keep up with your tempo'             
                             //項(xiàng)目的描述 你可以多寫(xiě)一點(diǎn)                
                             url siteUrl               
                             // Set your license                
                             licenses {                   
                                 license {                        
                                        name 'The Apache Software License, Version 2.0'                       
                                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'                 
                                  }             
                             }               
                             developers {                   
                                developer {                       
                                       id 'cuieney'        //填寫(xiě)的一些基本信息                                   
                                       name 'cuieney'                        
                                       email 'cuieney@163.com'                   
                                }
                             }               
                             scm {                    
                                     connection gitUrl                    
                                     developerConnection gitUrl                    
                                     url siteUrl                
                             }            
                          }        
                     }    
                }
       }
 task sourcesJar(type: Jar)
 {    
    from android.sourceSets.main.java.srcDirs    
    classifier = 'sources'
 }
//task javadoc(type: Javadoc){
  //options.encoding = 'UTF-8'
  //source = android.sourceSets.main.java.srcDirs
  // classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
//}
//task javadocJar(type: Jar, dependsOn: javadoc) {
  //    classifier = 'javadoc'
  //    from javadoc.destinationDir
//}
artifacts {
//    archives javadocJar    
     archives sourcesJar
}
Properties properties = new Properties()//讀取properties的配置信息奇瘦,當(dāng)然直接把信息寫(xiě)到代碼里也是可以的
properties.load(project.rootProject.file('local.properties').newDataInputStream())bintray {    
         user = properties.getProperty("bintray.user")    
         key = properties.getProperty("bintray.apikey")    
         configurations = ['archives']    
         pkg {       
                userOrg="cuieneymaster"        
                repo = "test"          //這個(gè)應(yīng)該是傳到maven的倉(cāng)庫(kù)的        
                name = "crossfader"    //發(fā)布的項(xiàng)目名字        
                websiteUrl = siteUrl        
                vcsUrl = gitUrl       
                licenses = ["Apache-2.0"]        
                publish = true    
}}

看到了這些代碼肯定也是懵逼了棘催。不要問(wèn)直接粘貼過(guò)去,下面我會(huì)介紹其中的一些主要的字段到底干嘛的耳标。
在gradle里面兩個(gè)task被我注釋掉了醇坝,主要是因?yàn)閘ibrary中有中文不能生成文檔,大家如果寫(xiě)測(cè)試的話可以釋放開(kāi)麻捻,其中上面很對(duì)字段需要寫(xiě)出自己的東西纲仍,可以改一下

重點(diǎn)1

group = "com.cuieneylibrary.crossfader" 

這句代碼改如何替換,這個(gè)代碼的意思是自己maven庫(kù)的地址贸毕,大家可以自己創(chuàng)建一個(gè)屬于自己的maven庫(kù) <a title="Title">Sonatype</a>點(diǎn)擊可以自己注冊(cè)一個(gè)郑叠。如果有什么不明白的可以參考
http://www.trinea.cn/dev-tools/upload-java-jar-or-android-aar-to-maven-center-repository/
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0623/3097.html
這兩篇文章。(group 這個(gè)字段應(yīng)該可以隨意寫(xiě)明棍,因?yàn)槲覀冎皇巧洗蔚絡(luò)Center的乡革,不防試試)

重點(diǎn)2

pkg { 
       userOrg="cuieneymaster" 
       repo = "test" //這個(gè)應(yīng)該是傳到maven的倉(cāng)庫(kù)的 
       name = "crossfader" //發(fā)布的項(xiàng)目名字 
       websiteUrl = siteUrl 
       vcsUrl = gitUrl 
       licenses = ["Apache-2.0"] 
       publish = true 
}

這個(gè)地方如果寫(xiě)錯(cuò)你肯定出現(xiàn)404 not found ,主要是因?yàn)樾掳鎎intray多出個(gè)organization所以這里你會(huì)看到多出一個(gè)字段userOrg摊腋,不然你上傳jCenter的時(shí)候會(huì)出現(xiàn)各種錯(cuò)誤沸版。上面的userOrg repo name 可以根據(jù)我下面的截圖來(lái)填寫(xiě)


pkg.png

看見(jiàn)了嗎上面有個(gè)類(lèi)似于樹(shù)狀圖的圓圈


tree.png

對(duì)的就根據(jù)這個(gè)來(lái)填寫(xiě)你要上面的三個(gè)信息就可以了。說(shuō)了這么多兴蒸,到了最后一步了那就是上傳到bintray视粮。

重點(diǎn)3(可忽略)

在studio 下的shell下輸入

./gradlew install
./gradlew bintrayUpload

如果成功的話你的,恭喜你橙凳,你的library已經(jīng)上傳到網(wǎng)上了蕾殴,全世界人都可以看到了,接下來(lái)還需要一步岛啸,那就是打開(kāi)bintray主頁(yè)钓觉,找到你library上傳的package,然后點(diǎn)擊add to jcenter即可坚踩,很快就會(huì)上傳上去荡灾,與老版bintray相比,速度快多了。


jcenter.png

上傳成功就可以看到在Linked to多出來(lái)個(gè)jcenter的杯子 批幌。這時(shí)候你的library已經(jīng)上傳到了jcenter础锐,這時(shí)候你就可以在

dependencies { 
    compile 'com.google.code.gson:gson:2.3.1'
}

測(cè)試結(jié)果

一行代碼導(dǎo)入你的庫(kù)了。
在網(wǎng)頁(yè)輸入http://jcenter.bintray.com
然后拼接上面的你剛剛在gradle里面配置的group 找到屬于你的下載地址即可逼裆。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末郁稍,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子胜宇,更是在濱河造成了極大的恐慌耀怜,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桐愉,死亡現(xiàn)場(chǎng)離奇詭異财破,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)从诲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)左痢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人系洛,你說(shuō)我怎么就攤上這事俊性。” “怎么了描扯?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵定页,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我绽诚,道長(zhǎng)典徊,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任恩够,我火速辦了婚禮卒落,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蜂桶。我一直安慰自己儡毕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布扑媚。 她就那樣靜靜地躺著妥曲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪钦购。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,829評(píng)論 1 290
  • 那天褂萧,我揣著相機(jī)與錄音押桃,去河邊找鬼。 笑死导犹,一個(gè)胖子當(dāng)著我的面吹牛唱凯,可吹牛的內(nèi)容都是我干的羡忘。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼卷雕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了漫雕?” 一聲冷哼從身側(cè)響起峰鄙,我...
    開(kāi)封第一講書(shū)人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤浸间,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后吟榴,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡兜看,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了狭瞎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片细移。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖脚作,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情劣针,我是刑警寧澤亿扁,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站襟己,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏擎浴。R本人自食惡果不足惜毒涧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧滑频,春花似錦唤冈、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至挟伙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間尖阔,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工谴供, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留齿坷,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓崎场,卻偏偏與公主長(zhǎng)得像遂蛀,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子李滴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容