AndroidStudio快速發(fā)布開源項目到Jcenter/Bintray

最近本人自己寫了個簡單的開源庫袱瓮,放在github上宛瞄。就想想我們工程中平時用一些第三方的網(wǎng)絡框架和圖片框架浮禾,都支持Gradle一句話依賴使用,如果是eclipse份汗,要導入jar,所以就想自己也上傳到Jcenter/Bintray.

1.必要的準備工作

AndroidStudio盈电、Gradle和自己的開源項目這個必須有。

Jcenter是Bintray下的一個倉庫裸影,所以Bintray帳號必須的挣轨,沒有的同學看下文如何申請。

網(wǎng)絡必須是暢通的轩猩,要能訪問https://bintray.com

如何申請Bintray帳號

沒有Bintray帳號的同學到Bintray官網(wǎng)申請卷扮,進入頁面后點擊右上角的Sign In登錄荡澎,如果有帳號的人可以直接登錄了,沒有帳號的同學點擊下面的Sign Up注冊帳號晤锹,操作流程如圖所示:

第一步摩幔,登錄或注冊入口

點擊Sign In按鈕登陸或者注冊。


第二步鞭铆,登錄或者到注冊頁面

有帳號直接登錄或衡,或者用第三方帳號(Github、Twwiter车遂,Google+)登錄封断,如果沒有帳號就點擊Sign Up注冊:

第三步,注冊帳號并激活

根據(jù)提示輸入相關信息注冊舶担,郵件地址灰常重要坡疼,一定填自己最常用的,找回密碼等用得到衣陶,注冊好之后會收到一封激活的郵件柄瑰,根據(jù)提示激活就好了。

第四步剪况,拿到自己的ApiKey

apikey是我們發(fā)布項目到Jcetner時必須要用的教沾,拿到ApiKey后保存起來等下要用,步驟如下:

4.1打開個人配置頁面译断,并點擊[Edit]

拿到apikey必須要先登錄授翻,登錄成功后,右上角原來顯示Sign In的地方顯示的自己的用戶名镐作,鼠標指向用戶名的時候有一個下拉菜單藏姐,我們需要點擊Your Profile,出現(xiàn)的頁面左偏上角你的頭像和用戶名下面有一個[Edit]该贾,圖示:

4.2輸入登錄密碼復制ApiKey

點擊Edit后出來的新頁面羔杨,選擇左側的[API Key],會出來如下頁面杨蛋,輸入你登錄密碼點擊下方的Submit后會顯示一個ApiKey兜材,圖示:

輸入密碼后點擊Submit后顯示如下,鼠標選中文字后復制并保存(注意不要點擊Revoke it逞力,這是撤銷這個ApiKey的意思):

第五步曙寡,就是創(chuàng)建一個Maven創(chuàng)庫



點擊add創(chuàng)建跳入如下頁面:



這里需要注意的是: 這個Name 和 選擇Maven重要,Name在Studio里面上傳時Jcenter時需要這個名字的

創(chuàng)建成功后會跳到下個頁面寇荧,然后點擊 Add New Package 開始 創(chuàng)建自己項目庫举庶,這邊有3個字段是必須 要填

(1) Name (2)Licenses這里一般選擇Apache-2.0與你Studio里面配置一致 (3)Version control 版本號 如:1.0.1


以上的步驟做完后,下面就是在我們的工程里面進行配置


配置項目gradle和local.properties

(一)配置項目的gradle文件

我們項目一般會有多個gradle配置文件揩抡,第一步要配置的是項目的gradle户侥,而不是module/library的gradle镀琉,也就是上圖[項目的gradle]標注的文件,你的項目中應該只有dependencies節(jié)點下的代碼不一樣:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

repositories {

jcenter()

}

dependencies {

classpath 'com.android.tools.build:gradle:2.1.0'

classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3' //添加這行

classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'? //添加這行

// NOTE: Do not place your application dependencies here; they belong

// in the individual module build.gradle files

}

}

allprojects {

repositories {

jcenter()

}

}

task clean(type: Delete) {

delete rootProject.buildDir

}

(二)配置要上傳的library/module的gradle文件

applyplugin:'com.android.library'

applyplugin:'com.github.dcendents.android-maven' ? //添加這行

applyplugin:'com.jfrog.bintray'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //添加這行

android {

compileSdkVersion23

buildToolsVersion"23.0.1"

defaultConfig {

minSdkVersion15

targetSdkVersion23

versionCode1

versionName"1.0"

}

?buildTypes {?

?release {?

?minifyEnabledfalse?

?proguardFilesgetDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'?

?}

?}

?}

dependencies {

compile fileTree(dir:'libs',include: ['*.jar'])

testCompile'junit:junit:4.12'

compile'com.android.support:appcompat-v7:23.0.0'

}

/**以下都是需要配置的**/

version="1.0.1"

// 定義兩個鏈接蕊唐,下面會用到屋摔。

defsiteUrl ='https://github.com/15189611/PullRefreshRecycleView'// 項目主頁。

defgitUrl='https://github.com/15189611/PullRefreshRecycleView.git'// Git倉庫的url替梨。

// 唯一包名钓试,比如compile 'com.charles:pullrefreshlibrary:1.0.1''中的

? ? ? ? ?com.charles就是這里配置的。?

? ? ? ? ? pullrefreshlibrary : 這個就是你module的項目名稱副瀑,一般你創(chuàng)建一個項目都是app弓熏,你可以修改此名字

? ? ? ? ? 1.0.1?

group="com.charles" ? ? ?

install {

repositories.mavenInstaller{

// 生成pom.xml和參數(shù)

pom{

project{

packaging'aar'

// 項目描述,復制我的話俗扇,這里需要修改硝烂。

name'PullRefreshRecycleView'// 可選,項目名稱铜幽。

description'The Android PullRefreshRecycleView.'// 可選,項目描述串稀。

urlsiteUrl// 項目主頁除抛,這里是引用上面定義好。

// 軟件開源協(xié)議母截,現(xiàn)在一般都是Apache License2.0吧到忽,復制我的,這里不需要修改清寇。

licenses {

license{

name'The Apache Software License, Version 2.0'

url'http://www.apache.org/licenses/LICENSE-2.0.txt'

}

?}

?//填寫開發(fā)者基本信息喘漏,復制我的,這里需要修改华烟。

?developers{

?developer{

?id'151896911'// 開發(fā)者的id翩迈。

?name'mcharles'// 開發(fā)者名字。

?email'18670342259@163.com'// 開發(fā)者郵箱盔夜。?

?}

?}

// SCM负饲,復制我的,這里不需要修改喂链。

?scm{

connectiongitUrl// Git倉庫地址返十。

developerConnectiongitUrl// Git倉庫地址。

urlsiteUrl// 項目主頁椭微。

}

}

}

}

// 生成jar包的task洞坑,不需要修改。

task sourcesJar(type: Jar) {

from android.sourceSets.main.java.srcDirs

classifier='sources'

}

// 生成jarDoc的task蝇率,不需要修改迟杂。

task javadoc(type: Javadoc) {

source= android.sourceSets.main.java.srcDirs

classpath+=project.files(android.getBootClasspath().join(File.pathSeparator))

// destinationDir = file("../javadoc/")

failOnErrorfalse// 忽略注釋語法錯誤刽沾,如果用jdk1.8你的注釋寫的不規(guī)范就編譯不過。

}

// 生成javaDoc的jar逢慌,不需要修改悠轩。

task javadocJar(type: Jar,dependsOn:javadoc) {

classifier='javadoc'

fromjavadoc.destinationDir

}

artifacts {

archives javadocJar

archives sourcesJar

}


// 這里是讀取Bintray相關的信息,我們上傳項目到github上的時候會把gradle文件傳上去攻泼,所以不要把帳號密碼的信息直接寫在這里火架,寫在local.properties中,這里動態(tài)讀取忙菠。

Properties properties =newProperties()

properties.load(project.rootProject.file('local.properties').newDataInputStream())

bintray {

user = properties.getProperty("bintray.user")// Bintray的用戶名何鸡。

key = properties.getProperty("bintray.apikey")// Bintray剛才保存的ApiKey。

configurations = ['archives']

pkg{

repo ="maven"http:// 上傳到maven庫牛欢。 ?注意:這里填寫你剛剛創(chuàng)建的庫的名稱 而不是maven

name ="PullRefreshRecycleView"http:// 發(fā)布到Bintray上的項目名字,這里的名字是你創(chuàng)建項目的名稱骡男,比如:PullRefreshRecycleView

websiteUrl = siteUrl

vcsUrl =gitUrl

licenses = ["Apache-2.0"]

publish =true// 是否是公開項目。

}

}


(三)在local.properties中為module/libraray配置用戶隱私信息

我們會在local.properties中配置很多變量傍睹,別的地方動態(tài)引用或者讀取隔盛,這樣就可以做到修改一個地方,其它地方都可以不用改了:

sdk.dir=你的sdk路徑

?# 其實你只需要添加下面兩行拾稳,第一個填你的用戶名吮炕,比如我的是mcharles

1? bintray.user=mcharles

2 bintray.apikey=fa*******************aab

注意下我這里為了不泄漏我的ApiKey,就用*代替了访得,你的要寫你的完整的ApiKey喔龙亲。


(四) 設置Studio的編碼格式為UTF-8 ?這邊如果你的代碼有中文注釋的話,就會影響到報錯悍抑,設置編碼這邊就不貼圖了·相信大家都會.(特別注意)


上傳項目到Jcenter


準備工作都做完啦鳄炉,最后一步就是上傳操作了,點擊AndroidStudio底部的Terminal搜骡,觀察下Terminal顯示的路徑是否是你當前項目的root拂盯。

1.這里如果你系統(tǒng)配置了gradle的用戶環(huán)境,輸入gradle install浆兰,如果沒有配置gradle用戶環(huán)境磕仅,輸入gradlew install ,需要下載。

? 這邊我教大家一個配置gradle環(huán)境簸呈,一般我們用Studio開發(fā)已經(jīng)下載過gradle環(huán)境這邊我們只需要找到相對于的位置

? 像配置jdk的path一樣如:


找到自己的studio安裝位置: 比如我的是:E:\android-studio\android-studio\gradle\gradle-2.10\bin

然后復制目錄配置到Path里面去就ok

正確的環(huán)境路徑應該是C:\Users\Administrator\.gradle\wrapper\dists\gradle-3.3-all\55gk2rcmfc6p2dg9u9ohc3hw9\gradle-3.3\bin 這樣就可以咯



配置完后你重啟Studio,可以輸入直接在控制臺輸入: gradle install

如果沒有問題過個幾分鐘后就會顯示BUILD SUCCESSFUL榕订。

2.如果你看到了生成javadoc時編譯不過,那么要看下在gradle中task javadoc下有沒有failOnError false這句話蜕便,在剛才編寫gradle時提示過了劫恒。如果加了這句而你的javadoc寫的不規(guī)范會有警告,你不用鳥它。

3.最后一步两嘴,運行gradle install后看到BUILD SUCCESSFUL后丛楚,再輸入上傳命令gradle bintrayUpload,等一分鐘左右就執(zhí)行完了憔辫,會提示SUCCESSFUL趣些。

4.瀏覽器https://bintray.com/后會看到你的項目。

上傳完成咯贰您,你會發(fā)現(xiàn)在項目gradle中依賴如下代碼后依賴失敾灯健:

這是你還沒有將你的項目提交給Bintray的管理員審核,所以不能用锦亦。


最后步驟:將上傳后的項目提交

原因是我們項目上傳完成后還需要Bintray的管理員審核舶替,所以在剛才項目頁面點擊進去查看詳情,點擊Add to Jcetner:

之后的頁面中填寫項目信息杠园,交給Bintray管理員審核:

發(fā)送后就所有的步驟完成了顾瞪,現(xiàn)在就是坐等你的注冊郵箱收信息吧,一般時間蠻快的抛蚁,半天左右吧陈醒。

? 審核通過后你就可以在項目中依賴了·好運碼農(nóng)們~~~~~

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市瞧甩,隨后出現(xiàn)的幾起案子孵延,更是在濱河造成了極大的恐慌,老刑警劉巖亲配,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異惶凝,居然都是意外死亡吼虎,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門苍鲜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來思灰,“玉大人,你說我怎么就攤上這事混滔∪骶危” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵坯屿,是天一觀的道長油湖。 經(jīng)常有香客問我,道長领跛,這世上最難降的妖魔是什么乏德? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上喊括,老公的妹妹穿的比我還像新娘胧瓜。我一直安慰自己,他們只是感情好郑什,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布府喳。 她就那樣靜靜地躺著,像睡著了一般蘑拯。 火紅的嫁衣襯著肌膚如雪钝满。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天强胰,我揣著相機與錄音舱沧,去河邊找鬼。 笑死偶洋,一個胖子當著我的面吹牛熟吏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播玄窝,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼牵寺,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了恩脂?” 一聲冷哼從身側響起帽氓,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎俩块,沒想到半個月后黎休,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡玉凯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年势腮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片漫仆。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡捎拯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出盲厌,到底是詐尸還是另有隱情署照,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布吗浩,位于F島的核電站建芙,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏拓萌。R本人自食惡果不足惜岁钓,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧屡限,春花似錦品嚣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至啊央,卻和暖如春眶诈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瓜饥。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工逝撬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人乓土。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓宪潮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親趣苏。 傳聞我的和親對象是個殘疾皇子狡相,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

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