前言
輪子用多了凰兑,發(fā)現(xiàn)各種問題就想自己造輪子了,方便自己的同時還能讓其他開發(fā)者使用赴涵。Android有兩種存放library的服務(wù)器就是jCenter和Maven Central辞色。jCenter是由bintray維護(hù)的Maven倉庫,Maven Central是由sonatype維護(hù)的Maven倉庫涝涤。在Android Studio開始的幾個版本中媚狰,它將Maven central 作為默認(rèn)倉庫。新建項目之后build.gradle中會自動生成Maven central倉庫的配置阔拳。 但是Maven Central最大的問題就是上傳library非常困難崭孤,同時還會由安全方面的原因,所以后來Android Studio將默認(rèn)倉庫替換成jCenter糊肠。所以最近的幾個版本中創(chuàng)建項目之后,build.gradle中會默認(rèn)定義jCenter而不是Maven Central辨宠。
如何把Android studio中的Library發(fā)布到Jcenter,讓android開發(fā)者在android studio上依賴你自己的library.下面我分享下如何把輪子分享出去货裹,以我的一個開源庫imagepicker為例介紹下如何將Android studio中Library發(fā)布Jcenter嗤形?
1:配置
將你要發(fā)布的moudle的build.gradle中添加代碼,gradle的最后添加
PUBLISH_GROUP_ID = 'com.zzti.fengyongge'
PUBLISH_ARTIFACT_ID = 'imagepicker'
PUBLISH_VERSION = '1.0'
apply from: 'https://raw.githubusercontent.com/blundell/release-android- library/master/android-release-aar.gradle'
其中PUBLISH_GROUP_ID填寫對應(yīng)開發(fā)者的名稱弧圆,PUBLISH_ARTIFACT_ID填寫項目的名稱赋兵,PUBLISH_VERSION填寫項目的版本笔咽,但發(fā)布到Jcenter通過后,你的compile地址即是:
PUBLISH_GROUP_ID:PUBLISH_ARTIFACT_ID:PUBLISH_VERSION
比如說霹期,我的這個項目的地址是:
compile 'com.zzti.fengyongge:imagepicker:1.0'
2:生成zip文件
打開terminal叶组,填入這行代碼,然后按Enter
gradlew clean build generateRelease
如果你是第一次生成zip文件历造,這是terminal會顯示點點點甩十,耐心等待,第一次就這樣可能進(jìn)度就是這樣展示的吭产。
3:獲取zip文件
生成的zip文件在build文件里面
4:注冊bintray賬號并建立倉庫
網(wǎng)址是https://bintray.com 如果你沒有bintray賬號侣监,建議用github賬號登錄,到時也方便查看源碼
5:創(chuàng)建倉庫
登錄成功后臣淤,創(chuàng)建倉庫橄霉,記著Type選maven
6:創(chuàng)建package
只填寫帶星必填項就行
7:添加version
8:上傳
上傳你的file就是我們之前壓縮的moudle的zip文件
我紅箭頭標(biāo)注的地方一定要勾選上,不然最后點jcenter按鈕添加到j(luò)center上會提示荒典,說缺maven的工程配置文件酪劫,特別坑。
Please fix the following before submitting a JCenter inclusion request:- Add a POM file to the latest version of your package
上傳成功后寺董,會提示你pulish其他文件覆糟,你點publish就行。
9:等待審核
這時你在返回到forlife遮咖,將你剛才創(chuàng)建的package同步到j(luò)center滩字,會提示你給jcenter發(fā)一個消息,可以不填御吞,我填的thanks麦箍,發(fā)完后,靜等他們審核陶珠,我是白天發(fā)布的挟裂,估計有時差,第二天凌晨5點給我回的郵件通過了揍诽,最后上一個成功的圖诀蓉。然后你和其他開發(fā)者都可以使用你的這個library。最后附一個我的這個開源庫imagepicker-圖片選擇庫暑脆,喜歡的可以stat
https://github.com/917386389/imagepickerdemo