可以說(shuō)上傳JCenter我經(jīng)歷了各種波折,看了很多博客文章,總想找一種最簡(jiǎn)單的方式,最后卻選擇了手動(dòng)上傳的方式!
一,使用插件:bintray-release
我想很多人都想以最簡(jiǎn)單的方式來(lái)上傳自己的代碼,我也同樣如此!于是看了洪洋大神的博客,使用bintray-release
Android 快速發(fā)布開(kāi)源項(xiàng)目到j(luò)center
這個(gè)插件確實(shí)配置簡(jiǎn)單,而且最后只需要執(zhí)行一段gradlew代碼即可,
./gradlew clean build bintrayUpload
-PbintrayUser=hyman
-PbintrayKey=xxxxxxxxxxxxxxxxxxxxxx
-PdryRun=false
上傳我發(fā)現(xiàn)我在bintray.com的File中多一個(gè)arr文件,然后我Add Jcenter,說(shuō)是缺少pom文件!對(duì)pom文件更本不熟悉的,不知道哪里取找這個(gè)文件!于是看了看bintray-release這個(gè)插件項(xiàng)目,在我寫(xiě)這篇文章的前6天,發(fā)現(xiàn)有一個(gè)更新,說(shuō)就是為了適應(yīng)maven而生成POM文件,而且配置生成這個(gè)pom文件就需要如下連接的配置https://github.com/novoda/bintray-release/wiki/Add-support-for-syncing-to-maven-central
我配置了一下,發(fā)現(xiàn)不行,說(shuō)是缺少什么!到這里我就果斷打算棄用它了!
- 原因一 ,簡(jiǎn)單的配置加gradlew命令已經(jīng)無(wú)法一鍵上傳到JCenter并發(fā)布,關(guān)鍵是發(fā)布缺少pom。在bintray的項(xiàng)目的File下面只有一個(gè)arr文件
- 原因二,使用gradlew那段命令用了我半小時(shí),時(shí)間太長(zhǎng),我以為第一次是這樣,但是發(fā)現(xiàn)第二次,第二天的多次也是這樣,我以為是連接網(wǎng)絡(luò)太慢,開(kāi)了vpn也是如此,我以為是gradlew前面使用了clean很慢,但去掉了clean,不僅有可能會(huì)缺少舊文件的清理,而且時(shí)間也沒(méi)有減少多少。
- 這第一個(gè)方法用了我一兩天時(shí)間,還是放棄了。
二,使用插件:
在群里面問(wèn)了下,有人說(shuō)是用的原生的方式,我一看配置,我就暈了,很多的我們并不需要關(guān)心的配置,我看見(jiàn)就放棄了!而且說(shuō)是原生,其實(shí)也是需
要插件的支持
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
上面是需要在總項(xiàng)目中配置的,還需要在自己要發(fā)布的項(xiàng)目中加入插件的引用,且配置大概需要幾十行!上傳我看了他的截圖,大概有arr,source,pom三個(gè)文件!
- 棄用原因一:配置項(xiàng)太多,
- 原因二,上傳后只有三個(gè)文件,不完整
三,手動(dòng)上傳,配置簡(jiǎn)單
在https://bintray.com注冊(cè)賬號(hào)就不用說(shuō)了
上傳第一步當(dāng)然是要打包arr,
- 3.1首先在我們項(xiàng)目的build.gradle根目錄下配置打包arr相關(guān)的信息
ext {
PUBLISH_GROUP_ID = 'com.smallcake.utils'
PUBLISH_ARTIFACT_ID = 'small-utils'
PUBLISH_VERSION = '1.0.0'
}
配置項(xiàng) 含義
PUBLISH_GROUP_ID 分組名稱
PUBLISH_ARTIFACT_ID 項(xiàng)目名稱
PUBLISH_VERSION 版本
- 3.2 在build.gradle最后添加
apply from: 'https://raw.githubusercontent.com/blundell/release-android-library/master/android-release-aar.gradle'
- 3.3 在當(dāng)前項(xiàng)目下運(yùn)行命令:
gradlew clean build generateRelease
一分鐘后在我們項(xiàng)目的build目錄下就有一個(gè)zip文件:
- 3.4最后 我們就把這個(gè)項(xiàng)目上傳到https://bintray.com/對(duì)應(yīng)目錄下,上傳記得注意要選中exploding the archive選項(xiàng)
- 3.4.1首先我們要自己創(chuàng)建一個(gè)項(xiàng)目,如果是第一次的話,并新建一個(gè)版本號(hào)(新建倉(cāng)庫(kù)就不用說(shuō)了吧)他們的順序是,有了Bintray賬號(hào),建立一個(gè)maven類型的倉(cāng)庫(kù),有了倉(cāng)庫(kù)建項(xiàng)目,有了項(xiàng)目建版本號(hào),有了版本號(hào)上傳zip文件,最后Add JCenter
選擇這個(gè)方式有三個(gè)原因:
- 配置簡(jiǎn)單,ext里面三項(xiàng)+底部一個(gè)連接請(qǐng)求
- 打包完整,包含幫助文檔 javadoc,源文件sources,Android包 arr,結(jié)構(gòu)文件 pom 和他們對(duì)應(yīng)的md5加密精簡(jiǎn)文件
- 命令簡(jiǎn)單,構(gòu)建快速
gradlew clean build generateRelease
確認(rèn)你的項(xiàng)目不需要清理,可以
gradlew generateRelease
唯一麻煩點(diǎn)就是需要自己手動(dòng)上傳一下,但是我想既然是個(gè)項(xiàng)目,更新起來(lái)肯定不會(huì)簡(jiǎn)單,上傳肯定一個(gè)版本都會(huì)很久。那么這個(gè)麻煩也就不那么頻繁了!困擾我三天的事情,總算解決了,特別記錄下來(lái)!找到合適自己最簡(jiǎn)單的方式上傳到JCenter!