前幾天上傳了個項目至 Jcenter,看了網上很多教程,基本都是以 gradle-bintray-plugin
這個插件做上傳,教程看着都好費勁,對於新手來說真的好麻煩。
找到了另外一種方法,採用 bintray-release
插件,感覺要比 gradle-bintray-plugin
簡單很多啊。於是在此記錄一下,希望能幫助到新手。
1、註冊 bintray.com 賬戶
jcenter 是屬於 bintray 的一個倉庫,所以需要註冊賬戶。注意默認註冊的是組織,個人賬戶註冊地址是 https://bintray.com/signup/oss
,可以用 GitHub、Google 賬戶註冊。
2、創建私有maven倉庫
點擊下圖中的 AddNewRepository
。
出現下圖的界面,注意其中的 Name 和 Type 都要寫成 maven。
3、引入 bintray-release
在項目的 build.gradle 添加 bintray-release
的 classpath,注意是項目的 build.gradle,不是module 的。
buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.0' classpath 'com.novoda:bintray-release:0.8.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } }
在待上傳 moudle 的 build.gralde 中添加
apply plugin: 'com.android.library' apply plugin: 'com.novoda.bintray-release' // 新增 android { compileSdkVersion 27 defaultConfig { // 保持不變 } buildTypes { // 保持不變 } } dependencies { // 保持不變 } // 新增 publish { userOrg = 'wuzy' //bintray.com用戶名 groupId = 'com.wuzy' //jcenter上的路徑 artifactId = 'logger' //項目名稱 publishVersion = '1.0.0'//版本號 desc = 'desc'//描述,自由填寫 website = 'https://github.com/zywudev/Logger' // 網址,自由填寫 }
按照上述的編寫,最終引入的方式爲: compile'com.wuzy:logger:1.0.0
。
4、上傳
上傳很簡單,在 Android Studio 或 cmd 控制檯運行一下命令,看到 BUILD SUCCESS 即上傳成功。
gradlew clean build bintrayUpload -PbintrayUser=username -PbintrayKey=xxxxxxxxxxxxx -PdryRun=false
其中 PbintrayUser 爲用戶名,PbintrayKey 是個人的 API Key,可在 bintray 網站上點擊 Edit Profile,即可看到。
上傳成功後,訪問 https://bintray.com/用戶名/maven
,即可看到上傳的項目。
注意此時還不能直接引用,因爲項目還未添加到 Jcenter 倉庫中。在下圖的紅色區域,未手動添加到 Jcenter 的會出現 AddtoJcenter
按鈕,點擊 AddtoJcenter
加入 commit
信息就行了,一般需要等待審覈通過,幾個小時吧,添加成功後 AddtoJcenter
那個按鈕就消失了,如下圖。
同樣,可以在 jcenter 倉庫中可以看到自己的項目了。
至此,整個流程就結束了,是不是很簡單。