寫了一個自定義的控件,打包library托管到了github,這樣別人就可以下載你的library使用。但如何將其上傳到jcenter服務器,然后就可以在模塊的build.gradle中添加一行代碼dependencies {compile ...},使別人用起來更加便捷呢?今天特意摸索了一下,將經驗總結如下:
1. 用Androd Studio新建一個library、
- AS1.5版本為例:File-New-New Moudle- Android Library
- 完成你的代碼,即生成了一個本地的libraray。
2. 在bintray上創建package
- 在 https://bintray.com/ 上注冊賬號,記住你的用戶名
-
完成之后,點擊maven進入新建package步驟
Paste_Image.png -
點擊Add New Package
Paste_Image.png - 進入新建步驟:Name是給library取一個名字(小寫);Description是描述,隨便寫一下功能;Licenses建議選Apache-2.0;Website和Version control 都寫github的項目地址即可。
3. 加工你的library項目
首先在你的主項目中的build.gradle
添加以下的構建腳本依賴:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.1.1"
}
}在library這個module的目錄下面打開(或新建)gradle.properties文件, 編寫:
PROJ_GROUP=com.clj
PROJ_VERSION=1.0.0
PROJ_NAME=memoryspinner
PROJ_WEBSITEURL=https://github.com/Jasonchenlijian/MemorySpinner
PROJ_ISSUETRACKERURL=PROJ_VCSURL=git@github.com/Jasonchenlijian/MemorySpinner.git
PROJ_DESCRIPTION=a spinner can memory history select item
PROJ_ARTIFACTID=memory_spinner
DEVELOPER_ID=
DEVELOPER_NAME=
DEVELOPER_EMAIL=上面的內容就會組成
dependencies {
compile 'com.clj:memory_spinner:1.0.0'
}然后在library這個module的 build.gradle的底部添加以下代碼:
apply from: 'https://raw.githubusercontent.com/msdx/gradle-publish/master/bintray.gradle'
-在c:\Users\用戶名.gradle目錄下面打開(或新建)gradle.properties文件,編寫用戶名和用戶key:
BINTRAY_USER=
BINTRAY_KEY=
-
執行上傳命令
- 檢查代碼正確性
gradlew install - 上傳編譯的文件到bintray
gradlew bintrayUpload
- 檢查代碼正確性
如果成功,在jCenter上就可以看到自己的項目:
4. 上傳你的library項目
- 切換到Android Studio的Terminal, 鍵入以下兩個命令行
- gradlew install : 檢查代碼的正確性
- gradlew bintrayUpload: 上傳代碼
在jCenter上公開你的項目
***打開https://bintray.com/bintray/jcenter , 搜索你的項目
- 提交審核