記錄Bintray網(wǎng)站發(fā)布Library

本來(lái)我是不想寫(xiě)的,覺(jué)得網(wǎng)上的教程已經(jīng)很多了。但是真的當(dāng)我自己去實(shí)現(xiàn)的時(shí)候锭环,發(fā)現(xiàn)坑還是很多的利花。所以將這次我發(fā)布到bintray網(wǎng)站上的里程記錄下來(lái)科侈。

簡(jiǎn)單介紹

Bintray其實(shí)只是一個(gè)網(wǎng)站,他們負(fù)責(zé)維護(hù)JCenter這個(gè)庫(kù)炒事,也就是說(shuō)JCenter庫(kù)是托管在BIntray網(wǎng)站上的臀栈。但是Bintray不只是只有JCenter庫(kù)。我們也可以在上面創(chuàng)建自己的賬號(hào)挠乳,生成自己的maven倉(cāng)庫(kù)权薯。

現(xiàn)在的android studio默認(rèn)依賴的就是jcenter庫(kù),但是老版本的android studio依賴的是mavenCentral庫(kù)(因?yàn)樯蟼鲙?kù)到mavenCentral對(duì)大部分開(kāi)發(fā)者來(lái)說(shuō)有點(diǎn)難睡扬,所以改成了jcenter)盟蚣。
我們可以在工程的build.gradle文件下看到

默認(rèn)的依賴庫(kù).png

好了 廢話不多說(shuō)、開(kāi)始上手卖怜。

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

https://bintray.com,首先需要在這個(gè)網(wǎng)站上注冊(cè)一個(gè)賬號(hào)屎开、

Paste_Image.png

我這里直接用的github賬號(hào)登錄,但是需要郵箱驗(yàn)證马靠。注意這里不能使用qq郵箱奄抽,網(wǎng)易郵箱注冊(cè),可以用谷歌郵箱甩鳄,個(gè)人用的是foxmail(qq郵箱的另外一個(gè)名字)逞度。

注冊(cè)成功之后就是這樣的:

Paste_Image.png

然后我們要?jiǎng)?chuàng)建我們的倉(cāng)庫(kù)了,類(lèi)似與github的倉(cāng)庫(kù)娩贷。

創(chuàng)建倉(cāng)庫(kù).png

然后填寫(xiě)相應(yīng)的信息就OK了第晰,注意type要選擇maven,還要如果你想非你的組織的人可以使用的話彬祖,需要選擇public茁瘦。

Paste_Image.png

然后在倉(cāng)庫(kù)里面添加一個(gè)包。用于存儲(chǔ)我們要發(fā)布的jar包储笑。

Paste_Image.png

然后填寫(xiě)相關(guān)信息甜熔,如圖:

Paste_Image.png

完成之后,我們的準(zhǔn)備工作就完成了突倍。~

項(xiàng)目編譯腔稀,發(fā)布

首先我們肯是需要一個(gè)已經(jīng)寫(xiě)好的library盆昙。項(xiàng)目結(jié)構(gòu)如下:

Paste_Image.png

如果沒(méi)有也沒(méi)關(guān)系,我們可以新建一個(gè)library焊虏,充分調(diào)試后(如果你只是想了解如何發(fā)布到bintry上的話淡喜,在library寫(xiě)一個(gè)測(cè)試方法即可),將其作為要發(fā)布的jar包诵闭。

Paste_Image.png

好了炼团,重頭戲來(lái)了,我們要在android stduio中搭建我們的上傳環(huán)境了疏尿。

  1. 在本工程的build.gradle文件中添加下面的代碼:
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
  classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'

在文件中的位置如圖:注意瘟芝,這里可能存在版本的問(wèn)題,如果出現(xiàn)版本不對(duì)的話褥琐,嘗試用最新版锌俱。

Paste_Image.png
  1. 在library項(xiàng)目下添加bintrayUpload.gradle文件,文件內(nèi)容如下:
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
// This is the library version used when deploying the artifact
version = "1.0.1"http://這里是你的版本敌呈,當(dāng)你需要上傳新的版本到bintry上時(shí)贸宏,只需要修改這里的版本即可

def siteUrl = 'https://git.oschina.net/crazycodeboy/ScanProj'      // 項(xiàng)目的主頁(yè)
def gitUrl = 'https://git.oschina.net/crazycodeboy/ScanProj.git'   // Git倉(cāng)庫(kù)的url
group = "reoger.hut.com.mylibrary"                                        // 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 'multi-format 1D/2D barcode image processing use zxing.'
                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 'you id'     //填寫(xiě)的一些基本信息(也可以不填)
                        name 'your name'
                        email 'your email'
                    }
                }
                scm {
                    connection gitUrl
                    developerConnection gitUrl
                    url siteUrl
                }
            }
        }
    }
}
task sourcesJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    classifier = 'sources'
}
task javadoc(type: Javadoc) {
    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.load(project.rootProject.file('local.properties').newDataInputStream())
bintray {
    user = properties.getProperty("bintray.user")
    key = properties.getProperty("bintray.apikey")
    configurations = ['archives']
    pkg {
        userOrg ="hut"http://這個(gè)地方一定要填驱富,一定要填 C唷!(這里需要修改你申請(qǐng)賬號(hào)是的組織id)
        repo = "Maven"http://發(fā)布到bintray上的倉(cāng)庫(kù)名
        name = "CheckEditText"  //發(fā)布到bintray上的包名
        websiteUrl = siteUrl
        vcsUrl = gitUrl
        licenses = ["Apache-2.0"]
        publish = true
    }
}
javadoc { //jav doc采用utf-8編碼否則會(huì)報(bào)“GBK的不可映射字符”錯(cuò)誤
    options{
        encoding "UTF-8"
        charSet 'UTF-8'
    }
}

這里需要對(duì)其進(jìn)行說(shuō)明:
必改的內(nèi)容有:

Paste_Image.png

userOrg填寫(xiě)你的組織Id褐鸥,可以在如圖的界面找到相信的信息。

Paste_Image.png

repo填寫(xiě)你的倉(cāng)庫(kù)名赐稽,name填寫(xiě)你的包名叫榕,可以在如圖所示的地方找到相應(yīng)的信息。

Paste_Image.png

3.填寫(xiě)完畢之后姊舵,需要在library的build.gradle文件中添加一句:

apply from: "bintrayUpload.gradle"

4.最后晰绎,我們需要在項(xiàng)目的local.properties填寫(xiě)我們的身份信息。添加下面這兩句到我們的目錄下:

bintray.user=用戶名
bintray.apikey=xxxxxxxxxxxxxxxxxx

用戶名可以在這里找到

Paste_Image.png

apiKey在這里找:


Paste_Image.png
Paste_Image.png
Paste_Image.png

輸入賬號(hào)密碼就可以活到apiKey了括丁。

好了荞下,上面的工作完成之后,我們離成功已經(jīng)不太遠(yuǎn)了史飞。

接下來(lái)在termial中輸入命令:

gradlew install
Paste_Image.png

如果沒(méi)有錯(cuò)誤的話尖昏,會(huì)提示BUILD SUCCESSEUL,然后我們?cè)谳斎耄?/p>

gradlew bintrayUpload

成功构资!~
去網(wǎng)站上看一看~:

Paste_Image.png

已經(jīng)有了~抽诉,大功告成。

添加依賴到項(xiàng)目中

發(fā)布之后吐绵,我們就可以將他引入到我們的項(xiàng)目中了迹淌。

在要引入項(xiàng)目的build.gradle目錄下河绽,添加依賴:

 maven { url 'https://hut.bintray.com/Maven' }
Paste_Image.png

其中的url就是我們的組織地址。


Paste_Image.png

然后唉窃,在我們要依賴的moudle下耙饰,添加我們需要的依賴,例如:

Paste_Image.png

這個(gè)可以在這里找到:


Paste_Image.png

然后就可以使用我們之前寫(xiě)好的功能了~N品荨榔幸!。

踩坑記錄:

我遇到的情況基本上概括了矮嫉,要是早一點(diǎn)看到這一片博客我就不會(huì)在這卡那么就了~~~~~~~~~~

http://blog.csdn.net/linglongxin24/article/details/53415932#comments

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末削咆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蠢笋,更是在濱河造成了極大的恐慌拨齐,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昨寞,死亡現(xiàn)場(chǎng)離奇詭異瞻惋,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)援岩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)歼狼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人享怀,你說(shuō)我怎么就攤上這事羽峰。” “怎么了添瓷?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵梅屉,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我鳞贷,道長(zhǎng)坯汤,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任搀愧,我火速辦了婚禮惰聂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘咱筛。我一直安慰自己搓幌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布眷蚓。 她就那樣靜靜地躺著鼻种,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沙热。 梳的紋絲不亂的頭發(fā)上叉钥,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天罢缸,我揣著相機(jī)與錄音,去河邊找鬼投队。 笑死枫疆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的敷鸦。 我是一名探鬼主播息楔,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼扒披!你這毒婦竟也來(lái)了值依?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤碟案,失蹤者是張志新(化名)和其女友劉穎愿险,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體价说,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辆亏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鳖目。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扮叨。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖领迈,靈堂內(nèi)的尸體忽然破棺而出彻磁,到底是詐尸還是另有隱情,我是刑警寧澤惦费,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布兵迅,位于F島的核電站,受9級(jí)特大地震影響薪贫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜刻恭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一瞧省、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鳍贾,春花似錦鞍匾、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至咆爽,卻和暖如春梁棠,著一層夾襖步出監(jiān)牢的瞬間置森,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工符糊, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留凫海,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓男娄,卻偏偏與公主長(zhǎng)得像行贪,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子模闲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

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