寫在開始
最近因為項目的需求,需要用到一些特殊的控件。在瀏覽查找了github之后,感覺比較糾結,一些小的dome,可定制度低,實現的效果和我不太一樣。一些大公司的項目又感覺比較臃腫,配置起來比較復雜。所以考慮自己自定義一些控件,寫完了之后,想把項目開源給大家交流一下,所以使用bintray-release上傳bintray,但是沒想到中間遇到很多坑,所以記錄分享一下。
接下來分幾個點,一些遇到的問題會穿插在里面
- 注冊賬號
- 創建倉庫
- 配置bintray-release
- 上傳
1. 注冊
其實注冊這個步驟是最最最坑爹的,在網上絕大部分的教程都一帶而過,而我就是因為這個問題反復糾結了1天。
首先 : 打開 bintray官網
首先看到這個
看見這么可愛的綠綠的按鈕是不是很想點擊注冊??
不不不不不!!!!!!!
bintary賬號分為普通賬號和開源賬號,果然點擊左邊的綠色按鈕,你注冊的是普通賬號,你就必須要加入或者創建組織才可以建立自己的倉庫,關鍵是如果你點錯了,你還刪不了,非常麻煩。
所以,千萬要點擊右邊的For an Open Source Account Sign Up Here.
接下來,到了
到了這里,什么選擇就你喜歡了。
但是要注意一點,不管你選擇新注冊還是用第三方登錄,如果你的郵箱是QQ或者163,都是不行的,到時候郵箱一欄會變紅高亮,但是不會有任何提示,很坑爹,所以用gmail或者outlook來注冊比較保險。
登錄進去之后,點擊頭像,點擊edit profile 如果打開的界面,左邊一欄中有repositories 則說明,你的賬號沒錯,如果沒有,只有五個選項,則你在注冊的時候點錯了,注冊的是普通的賬號。
2. 創建倉庫
現在就可以點擊repositories 來創建倉庫,類型選擇maven,其他自己決定,創建好了之后,在里面可以創建一個packge。
這一步一般沒有什么問題
3. 配置bintray-release
不說廢話 直接上bintray-release github地址
dependencies {
classpath 'com.android.tools.build:gradle:2.3.2'
classpath 'com.novoda:bintray-release:0.5.0'
}
這里注意一點,bintray-release不支持 gradle 3.4以下的版本,必須gradle 3.4以上
然后在你要上傳的module里面的gradle里面添加
apply plugin: 'com.novoda.bintray-release'
然后在最外層 配置
publish {
userOrg = 'bintray.com用戶名'
groupId = 'com.xxxxx'//jcenter上的路徑,你喜歡
artifactId = '倉庫里面的名稱Package'
publishVersion = '1.0.1'//版本號
desc = 'simple,bottomdialog'//描述,隨便
website = 'https://github.com/ZENGYANYAN/YanLibrary'//網站,隨便;
}
上面是大多數教程的寫法,但是有可能會報
HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]
的錯誤
因為他默認的倉庫名字為maven
有相關文章是通過手動建立一個叫maven的倉庫來解決
類似這位大神
但是對于我有強迫癥的來說,不可接受啊
嘗試過后
publish應該是這樣的
publish {
userOrg = 'bintray.com用戶名'
groupId = 'com.xxxxx'//jcenter上的路徑,你喜歡
artifactId = '倉庫里面的名稱Package'
repoName='倉庫名'
publishVersion = '1.0.1'//版本號
desc = 'simple,bottomdialog'//描述,隨便
website = 'https://github.com/ZENGYANYAN/YanLibrary'//網站,隨便;
}
這樣就很完美了
4.上傳
開始上傳
首先要得到key
edit profile里面有一個Api Key
copy下來就好
打開Terminal 輸入
/gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
就開始編譯,可能會有幾個問題
gradle 版本問題 上文已解決
HTTP/1.1 404 Not Found [message:Repo 'maven' was not found] 已解決
GBK編碼問題,javadoc編碼問題
在項目gradle里面加入
tasks.withType(Javadoc) {
options {
encoding "UTF-8"
charSet 'UTF-8'
links "http://docs.oracle.com/javase/7/docs/api"
}
}
或者用參考以為群上大神的項目做法另一位大神
解決這些問題后,就會成功上傳了。
在你的倉庫里就會找到你上傳的package,
點擊右下角的add to Jcenter 等待審核
審核結束,就發布成功了。
最后
這就是全部
感謝hongyang大神的博客
還有剛剛我引用過的各位大佬的資料
有什么說得不對的地方,
還請各位大佬多多指教