1. 程式人生 > >一步一步教你將開源專案上傳到jcenter(第一種方式)

一步一步教你將開源專案上傳到jcenter(第一種方式)

  最近閒著看了一下jcenter的使用,也想將自己使用頻率比較高的東西抽成類庫,然後通過compile來使用,提高開發效率,本來以為挺簡單的,但是網上介紹的比較模糊,很多部落格也比較老了,不適用,花了我一天的時間,還是走了很多彎路,這裡記錄下來,希望能幫助到小夥伴們,現在覺得還是挺簡單的。
  釋出到jcenter有兩種方式,一種是gradle-bintray-plugin,一種bintray-release
  本篇文章將介紹第一種gradle-bintray-plugin,第二種方法參見我的下一篇文章: 一步一步教你將開源專案上傳到jcenter(第二種方式))
下面我們來看看本章的操作步驟:
第一步:
  首先是註冊,這就是我踩的最大的一個坑,導致我一天都沒有上傳成功。網上說的都是去jcenter的網站上註冊就可以,其實不然,英文好的最好去看英文文件,一步一步來操作。
個人正確的註冊地址:

https://bintray.com/signup/oss
個人正確的註冊地址:https://bintray.com/signup/oss
個人正確的註冊地址:https://bintray.com/signup/oss
重要的事情說三遍,一定要到這個網址去註冊。
  開啟介面是這樣的,一定要選擇我打標記的這個,預設的話是第一個,這就是坑,所以一定要看清楚再註冊。
這裡寫圖片描述

注:這裡用普通的郵箱(qq,163這些都不好使)是行不通的,最好使用google郵箱或者outlook郵箱。
註冊完成後介面是這樣的,看下圖:
這裡寫圖片描述

但是,如果你註冊後介面是下面這樣的:

這裡寫圖片描述

看不到New Repository,就說明你註冊錯了,踩了我的第一個坑。刪除賬號資訊後,重新註冊吧。
註冊完成後我們點選Add New Repository,新建一個倉庫。

注:建立的maven倉名字和型別都要寫成maven,如下圖所示:

這裡寫圖片描述

然後我們開始獲取user和key,至於為什麼要,我們後面再說:

這裡寫圖片描述
這裡寫圖片描述

這樣我們jcenter的工作就做好了,然後準備我們上傳的開源專案,這個比較簡單,我就隨便說了。
第一步:
  先新建一個專案,然後在這個專案下新建一個Android LIbrary的Module,自己的開源庫就在這個Module裡面開發,如下圖:
這裡寫圖片描述

第二步:
  在這個新建的Module裡面,開發自己的開源專案,然後,在原來的專案裡是可以直接引用Module裡在程式碼的。但執行的時候會報錯,需要在專案的build.gradle中新增如下程式碼:

compile project(':CommonUtilLibrary')

後面單引號裡面,是自己建立的Module名字。然後,再重新執行整個專案,就可以把Module也編譯進去了。
第三步:
  編寫工程的build.gradle檔案,記住,是工程的。先開啟專案的build.gradle檔案,一定是專案的build檔案,然後在裡面新增如下程式碼:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
    }
}

記住,程式碼有的就保留下來,沒有的加上去。
注意:這裡Sync有時候會報 Error:(2, 0) No service of type Factory…這樣的錯誤,主要是因為這一行:

classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'

如果報錯了的話,就自己去官網上看最新的外掛版本號,改了就可以了。
這裡新增完後完整的build.gradle應該是這樣的:
這裡寫圖片描述

然後再開啟將要上傳的Module的build.gradle檔案,新增如下程式碼:

apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
def siteUrl = 'https://github.com/caijin199410/CommonUtil.git'      // 專案的主頁   這個是說明,可隨便填
def gitUrl = 'https://github.com/caijin199410/CommonUtil.git'      // Git倉庫的url  這個是說明,可隨便填
group = "com.abrahamcaijin"    // 這裡是groupId ,必須填寫  一般填你唯一的包名,對應com.squareup.okhttp3:okhttp:3.4.1中的com.squareup.okhttp3部分

install {
    repositories.mavenInstaller {
        // This generates POM.xml with proper parameters
        pom {
            project {
                packaging 'aar'
                // Add your description here
                name 'CommonUtil'     //專案描述
                url siteUrl
                // Set your license
                licenses {
                    license {
                        name 'The CommonUtil Software License, Version 1.0.0'
                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    }
                }
                developers {
                    developer {
                        id 'caijinabraham'        //填寫開發者的一些基本資訊
                        name 'caijinabraham'    //填寫開發者的一些基本資訊
                        email '[email protected]'   //填寫開發者的一些基本資訊
                    }
                }
                scm {
                    connection gitUrl
                    developerConnection gitUrl
                    url siteUrl
                }
            }
        }
    }
}
task sourcesJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    classifier = 'sources'
}
task javadoc(type: Javadoc) {
    options {
        encoding "UTF-8"
        charSet 'UTF-8'
        author true
        version true
        links "http://docs.oracle.com/javase/7/docs/api"
    }
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}
artifacts {
    archives javadocJar
    archives sourcesJar
}

Properties properties = new Properties()
properties.load(project.file('local.properties').newDataInputStream())
bintray {
//    userOrg=properties.getProperty("bintray.user")
    user = properties.getProperty("bintray.user")    //讀取 local.properties 檔案裡面的 bintray.user
    key = properties.getProperty("bintray.apikey")   //讀取 local.properties 檔案裡面的 bintray.apikey
    configurations = ['archives']
    pkg {
        repo = "maven"
        name = "CommonUtil"    //釋出到JCenter上的專案名字,必須填寫,對應com.squareup.okhttp3:okhttp:3.4.1中的okhttp
        publishVersion = ‘1.0.0’//釋出到JCenter上的專案版本號
        websiteUrl = siteUrl
        vcsUrl = gitUrl
        licenses = ["Apache-2.0"]
        publish = true
    }
}

新增完成後,完整的build.gradle應該是這樣的:

這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

  最後需要在本地的local.properties裡面新增以下內容:

bintray.user=YOUR_BINTRAY_USERNAME  
bintray.apikey=YOUR_BINTRAY_API_KEY  

如圖所示:

這裡寫圖片描述

第四步:
  開啟android studio的命令列:
這裡寫圖片描述

輸入如下命令:
輸入命令:

gradlew install
gradlew bintrayUpload

  當這兩個命令都成功顯示BUILD SUCCESSFUL就可以了,或者不執行上面這兩個命令,直接合成執行下面這個命令就可以了:

gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false

記住要把user和key換成自己的,同樣要顯示BUILD SUCCESSFUL才可以。

最後要將專案釋出到jcenter:
  上傳開源庫到jcenter的辦法很多,可以百度,這裡看看我的就可以了,開啟jcenter的主頁,進入自己新建的maven倉庫裡面,你就可以看到自己推上來的開源專案了,如下圖所示:
這裡寫圖片描述這裡寫圖片描述

然後需要等待稽核通過,一般5-6小時。在稽核通過前可以通過配置自己私有倉地址使用。

這裡寫圖片描述

然後在專案的根目錄下build.gradle配置地址:

這裡寫圖片描述

然後在要是使用的Module的build.gradle裡面新增依賴,專案中加入依賴即可:

compile 'com.abrahamcaijin:ComonUtil:1.0.0'

注意:如果這裡提示依賴不成功,可以再後邊加上@arr,稽核通過以後可以去掉後面的@arr,暫時發現os系統上傳後不需要加入便可成功,windows系統上傳需要加入@arr

compile 'com.abrahamcaijin:ComonUtil:[email protected]'

然後現在是1.0.0版本,我以後想增加、迭代怎麼辦?
  這個非常簡單,當你的Library程式碼更改後,只需要更改一下上面的配置裡面的publishVersion,執行

gradlew clean build bintrayUpload -PdryRun=false

就可以更新版本號了。這樣,整個過程就結束了。
  好了,現在你就可以在你專案中依賴你的開源庫了,就是這麼簡單!有不懂的聯絡我。

相關推薦

開源專案jcenter(第一方式)

  最近閒著看了一下jcenter的使用,也想將自己使用頻率比較高的東西抽成類庫,然後通過compile來使用,提高開發效率,本來以為挺簡單的,但是網上介紹的比較模糊,很多部落格也比較老了,不適用,花了我一天的時間,還是走了很多彎路,這裡記錄下來,希望能幫助到小

分享開源專案到 Maven 中心倉庫

       相信很多程式猿朋友都或多或少寫過一些通用庫檔案,也有很多人會秉著開源的精神將程式碼分享到類似 Github 之類的程式碼託管網站去。        其實大家分享程式碼的時候,目的在於讓更多的人使用,但是如果僅僅是放在 Github 這些工具上等人家下載使

HTML頁面自動儲存為PDF檔案並的兩方式)-前端(react)方式

一、業務場景   公司的樣本檢測報告以React頁面的形式生成,已調整為A4大小的樣式並已實現分頁,業務上需要將這個網頁生成PDF檔案,並上傳到伺服器,後續會將這個檔案傳送給客戶(這裡不考慮)。 二、原來的實現形式   瀏覽器原生方法:window.print()可以將網頁儲存為PDF檔案,由於檢測報告

Git的使用:如何步步本地專案到Github

通過參照別人的部落格成功地把專案上傳到了github,同時結合自己遇到的問題分享給大家,希望對你們有幫助。 如果想詳細學習Git的話,可以通過Git教程 - 廖雪峰的官方網站來學習。 Git的安裝就不說啦。       &n

本地專案到碼雲,只需這幾,每個步驟都有圖文

1,首先在碼雲上新建一個專案,如下圖所示 2,本地新建一個資料夾   3,進入新建的資料夾,點選滑鼠右鍵,選擇git bash here 然後在視窗輸入 git init  這時候資料夾會多出一個.git資料夾,看不到資料夾的,點選滑鼠右鍵選擇“顯示不

手把手開源專案MyMeiZi 二(使用RecyclerView+Glide打造瀑布流)

Glide 一個專注於平滑滾動的圖片載入和快取庫,相信大家也不會陌生,話說我以前一直使用的是Fresco,這次也是為了學習使用了Glide,誰上誰下這個不好區分,但是Glide更輕量級,究竟選擇哪個還要看各位自己了 在Github上我們可以看到關於G

8uftp 使用教程之如何把音樂到免費空間

ftp 教你如何用8uftp軟件,上傳文件到免費空間。8UFTP客戶端工具:● 支持外鏈下載● 支持直接在線解壓縮● 快速刪除遠程文件夾● 獨家支持多線程上傳,速度是普通ftp工具的3倍8UFTP智能擴展服務端工具:● 支持在線解壓縮文件● 防21端口CC攻擊● 防暴力破解ftp密碼● 快速刪除遠程文件夾h

如何的Android專案到github

因為實習單位需要,最近研究了一下github的玩法,瞬間感覺自己以前用的svn弱爆了有沒有! 因為自己也沒有做很深的研究,這裡就先分享一下將自己的專案上傳到github上的步驟。 這裡假設大家已經擁有了一個github賬號(如果沒有賬號的,你還在等什麼?),

最詳細的圖文教程,一點一點的的APP程式打包到APP Store.

廢話不多說了,第一次上傳已寫好的APP工程,這個圖文教程或許對你有幫助.宣告一下,本教程只是教你如何把你的本地APP專案打包上傳到APP Store裡.上傳到APP Store之後的步驟請讀者在慢慢根據官網提示選擇操作. 可能會出現的問題 :如果他提示有關證書的問題,

使用 Git 本地專案到 Github

我是在linux 的ubuntu 下 用 Git 命令 將本地專案上傳到 Github 流程就是: 1.在你的環境下 安裝好git 建立好版本庫 2.你要先註冊一個github賬戶,然後新建一個倉庫 Repositories 3.新增ssh 賬戶 4.克隆專案 5.將你自己本地專案資料夾

如何用命令本地專案到git和ssh配置

嘛,就是將伺服器上的網站和本地同步。首先是上傳伺服器上的網站到github倉庫git initgit add .git commit -m ''關聯遠端倉庫,先去github上新建一個,new repositorygit remote add origin 你的遠端庫地址同步 合併git pull --reb

電腦基礎知識及拓展:使用Git本地專案到碼雲(完整版)

準備工作: 1.下載Git https://www.git-scm.com/download/ 2.註冊碼雲 記住自己暱稱下面的字母,這作為我們的賬號。密碼自己心裡都知道。 在碼雲新建一個專案,我這裡是UnityWorks 3.配置使用者名稱和密碼 在任意

本地專案到github

1.先註冊github賬戶 2.安裝git客戶端 3.建立一個空的資料夾programmanage(檔名稱自己定義) 4.使用下面的這個工具切換到programmanage檔案下 5.programmanage檔案將會作為本地git倉庫我們使用下面的命令對其進行初始化 $ git i

如何用命令本地專案到git

1、(先進入專案資料夾)通過命令 git init 把這個目錄變成git可以管理的倉庫 git init 2、把檔案新增到版本庫中,使用命令 git add .新增到暫存區裡面去,不要忘記後面的小數點“.”,意為新增資料夾下的所有檔案 git add . 3、用命令 gi

Git的使用--如何本地專案到Github

很早之前就註冊了Github,但對其使用一直懵懵懂懂,很不熟練。直到昨天做完百度前端技術學院的task,想把程式碼託管到Github上的時候發現自己對於Git的操作是如此之愚鈍,所以今天決定把Git好好學習一遍,好讓自己以後能更好地使用Github,主要還是通過Git教程

本地專案至碼雲

1、碼雲上新建一個專案 XXXX(專案名) 2、本地建立一個專案資料夾,然後使用git bash(通過專案根目錄右擊或切換目錄轉至)     3、使用 git init 命令   //初始化一個git 本地倉庫此時會在本地建立一個 .git 的資料夾 4、使用git remote add origin

如何本地專案到github網站

作用 對程式碼進行版本管理控制 多人協作開發 下載本地倉庫並安裝 本地倉庫 點選下載 上傳專案步驟 以下所有操作都在專案目錄進行,在shell視窗執行命令 進入專案目錄,初始化 git init 新增要管理的檔案 git add 檔名

本地專案到個人GitHub

一、前期準備工作 安裝git,具體的下載地址,安裝比較簡單在此不再詳述嘍,本次簡介是windows系統下的步驟 二、具體步驟 0、登入自己的GitHub賬號,建立一個空的repository,最好不要加README.md 1、進入需要上傳的專案資料夾中,選中該

使用Eclipse本地專案到GitHub的教程?

前言 今天是我正式加入GitHub的第一天,作為世界上最大的同性交友社群,以push和pull出名的它,讓我墜入其中並無法自拔,廢話不多說,上教程: 步驟一 首先,你需要註冊一個github

Xcode自帶git本地專案到GitHub

1.cd到你的專案目錄下 2.git init 3.git add . 4.git commit -m "first commit" 5.git remote add origin https://github.com/icefishlily/audioPlayer_2.git//換成你自己的u