Android利用github制作maven遠(yuǎn)程倉(cāng)庫(kù)發(fā)布sdk

現(xiàn)在是個(gè)互相協(xié)作的互聯(lián)網(wǎng)世界称诗,我們開(kāi)發(fā)項(xiàng)目會(huì)引用系統(tǒng)sdk和第三方sdk痹愚,同時(shí)我們也可能是sdk提供方旗笔。如果我們自己開(kāi)發(fā)sdk,要通過(guò)什么方式發(fā)布才能更方便別人使用斩箫?這里總結(jié)一下android利用github制作maven遠(yuǎn)程倉(cāng)庫(kù)發(fā)布sdk的方法吏砂。

1.制作本地maven倉(cāng)庫(kù)

module build.gradle文件添加代碼段:

// 發(fā)布maven配置
apply plugin: 'maven'

uploadArchives {
    repositories {
        mavenDeployer {
            pom.groupId = 'com.systoon'
            pom.artifactId = "TNLiveDetect-Android"
            pom.version = "1.0.0"
            pom.packaging = 'aar'
            repository(url: uri("${rootProject.projectDir}/repo"))
        }
    }
}

project build.gradle文件添加代碼段:

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url uri("${rootProject.projectDir}/repo")
        }
    }
}

build項(xiàng)目撵儿,Gradle窗口對(duì)應(yīng)module出現(xiàn)uploadArchives操作項(xiàng)


github maven1.png

雙擊執(zhí)行uploadArchives乘客,項(xiàng)目repo目錄生成aar和pom文件


github maven2.png

到這里,本地maven倉(cāng)庫(kù)就算制作完成了淀歇,本地項(xiàng)目可以直接引用sdk編譯生成apk

dependencies {
    implementation 'com.systoon:TNLiveDetect-Android:1.0.0'
}

但本地maven倉(cāng)庫(kù)只能本地項(xiàng)目自己用易核,我們的目的是讓世界的所有人都能夠引用自己的sdk

2.制作遠(yuǎn)程maven倉(cāng)庫(kù)

前提需要一個(gè)github賬號(hào),創(chuàng)建一個(gè)項(xiàng)目和分支(具體操作細(xì)節(jié)不表)

將本地項(xiàng)目repo目錄下所有文件上傳至github所屬項(xiàng)目(一般git簡(jiǎn)單操作就可實(shí)現(xiàn))


github maven3.png
github maven4.png

此時(shí)遠(yuǎn)程maven就算制作完成浪默,sdk發(fā)布上線了

3.外部如何調(diào)用sdk

與google和jcenter等公共maven倉(cāng)庫(kù)不同牡直,我們自己做的maven倉(cāng)庫(kù)缀匕,調(diào)用方需要做些簡(jiǎn)單配置

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url url 'https://raw.githubusercontent.com/systoon/TNLiveDetect-Android/master'
        }
    }
}

注意,不少人在此處遇坑碰逸,倉(cāng)庫(kù)地址用github.com乡小,導(dǎo)致sdk下載失敗。
有人問(wèn)了饵史,倉(cāng)庫(kù)地址為什么是raw.githubusercontent.com满钟,而不是github.com,可能github出于網(wǎng)絡(luò)安全考慮胳喷,將網(wǎng)頁(yè)瀏覽和文件下載分成兩個(gè)域名地址湃番。

4.maven倉(cāng)庫(kù)的選擇

眾所周知,mavenCentral吭露、google吠撮、jcenter、jitpack讲竿、阿里云maven等等常用的倉(cāng)庫(kù)有很多泥兰,我們是否可以做其他選擇?

  • google戴卜、mavenCentral是androidstudio的默認(rèn)倉(cāng)庫(kù)逾条,但國(guó)內(nèi)訪問(wèn)速度慢,甚至需要翻墻投剥。
  • jcenter是由JFrog公司提供的Bintray中的Java倉(cāng)庫(kù)师脂,功能強(qiáng)大,免費(fèi)試用一個(gè)月江锨,之后需要收費(fèi)吃警。
  • 阿里云鏡像倉(cāng)庫(kù),只是mavenCentral啄育、jcenter酌心、google的復(fù)制品,只適合訪問(wèn)lib挑豌,沒(méi)有托管lib的功能安券。
  • 阿里云制品倉(cāng)庫(kù),其實(shí)是私有倉(cāng)庫(kù)氓英,只能企業(yè)內(nèi)部使用侯勉。
  • jitpack是由github提供的庫(kù),相對(duì)不錯(cuò)铝阐,但需要代碼上傳和在線編譯址貌,不利于代碼的私密性和錯(cuò)誤調(diào)試,如果是開(kāi)源項(xiàng)目可以考慮。
  • 公司利用自己的服務(wù)器托管maven庫(kù)练对,成本太高遍蟋。

綜上對(duì)比,從網(wǎng)絡(luò)限制螟凭、免費(fèi)虚青、公共訪問(wèn)、代碼安全螺男、成本等幾方面考慮挟憔,利用github的托管功能做自己的遠(yuǎn)程maven倉(cāng)庫(kù),作者認(rèn)為是最佳選擇烟号。另外绊谭,號(hào)稱國(guó)內(nèi)github的碼云也提供類似功能,大家也可以考慮汪拥。

好了达传,文章到此結(jié)束,希望對(duì)大家有用迫筑,歡迎關(guān)注公眾號(hào):android-tech宪赶,文章轉(zhuǎn)載請(qǐng)注明出處,謝謝脯燃。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搂妻,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子辕棚,更是在濱河造成了極大的恐慌欲主,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件逝嚎,死亡現(xiàn)場(chǎng)離奇詭異扁瓢,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)补君,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門引几,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人挽铁,你說(shuō)我怎么就攤上這事伟桅。” “怎么了叽掘?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵楣铁,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我够掠,道長(zhǎng)民褂,這世上最難降的妖魔是什么茄菊? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任疯潭,我火速辦了婚禮赊堪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘竖哩。我一直安慰自己哭廉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布相叁。 她就那樣靜靜地躺著遵绰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪增淹。 梳的紋絲不亂的頭發(fā)上椿访,一...
    開(kāi)封第一講書(shū)人閱讀 51,190評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音虑润,去河邊找鬼成玫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛拳喻,可吹牛的內(nèi)容都是我干的哭当。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼冗澈,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼钦勘!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起亚亲,我...
    開(kāi)封第一講書(shū)人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤彻采,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后捌归,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體颊亮,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年陨溅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了终惑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡门扇,死狀恐怖雹有,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情臼寄,我是刑警寧澤霸奕,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站吉拳,受9級(jí)特大地震影響质帅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一煤惩、第九天 我趴在偏房一處隱蔽的房頂上張望嫉嘀。 院中可真熱鬧,春花似錦魄揉、人聲如沸剪侮。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)瓣俯。三九已至,卻和暖如春兵怯,著一層夾襖步出監(jiān)牢的瞬間彩匕,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工媒区, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留推掸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓驻仅,卻偏偏與公主長(zhǎng)得像谅畅,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子噪服,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354