一、描述
分享一下上傳項(xiàng)目到Jcenter和Maven的一種方法晕城,方法我百度看了有好多烹植,我在這里整理一下斑鸦。
二、上傳項(xiàng)目
(1)注冊一個Bintray賬號
(2)登陸成功草雕,并且打開 View All 巷屿,看到Mavan時點(diǎn)擊選擇。
(3)選擇完Mavan墩虹,現(xiàn)在開始創(chuàng)建一個新的Package嘱巾。
(4)填寫Name,這個Name需要與你的項(xiàng)目工程LIbrary相同的名字诫钓,Lincenses就圖片的Apache-2.0旬昭,最后的Version Control 就隨便填了,最后Create Package菌湃。
(5)這樣就創(chuàng)建完成问拘,好了,現(xiàn)在可以開始配置LIbrary了惧所。
(6)創(chuàng)建項(xiàng)目骤坐,并且創(chuàng)建Library,這里再提醒一下下愈,創(chuàng)建的Library名字必須跟在Bintray中創(chuàng)建Package的名字相同纽绍。
(7)在UploadJcenter根目錄的build.gradle中,添加參數(shù),第一個如果有了就不用重復(fù)添加了
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
classpath 'com.github.dcendents:android-maven-gradle-plugin:latest.release'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'
}
(8)在mytool中的build.gradle中势似,添加以下代碼拌夏,需要添加的代碼我都有注釋標(biāo)明,并且這里說明一點(diǎn)履因,如果Bintray上沒有創(chuàng)建Package包的話辖佣,就會根據(jù)本地填寫的包名自動創(chuàng)建。
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'//需添加的
apply plugin: 'com.jfrog.bintray'//需添加的
version = "1.0.0" //需更改搓逾,這個是Library的版本后卷谈,每次更新的時候,版本需要不一樣
android {
compileSdkVersion 23
buildToolsVersion "24.0.0"
defaultConfig {
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
lintOptions {//需添加的
abortOnError false
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
}
//下面到結(jié)尾都是需要添加的
def siteUrl = 'https://github.com/' // 可默認(rèn)霞篡,項(xiàng)目的主頁
def gitUrl = 'https://github.com/' //可默認(rèn)世蔗, Git倉庫的url
group = "com.junwen.mytool" // 需更改,這個就是Library最后生成出來的包名朗兵,最后會成為這樣:compile 'com.junwen.mytool:mytool:1.0.0'
install {
repositories.mavenInstaller {
// This generates POM.xml with proper parameters
pom {
project {
packaging 'aar'
// Add your description here
description 'my utils for test'
name 'Android Commonly used utils' // 可默認(rèn)污淋,項(xiàng)目描述
url siteUrl
// Set your license
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer { // 可默認(rèn),開發(fā)者信息
id 'YOUR_ID'
name 'YOUR NAME'
email 'YOUR EMAIL'
}
}
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'
source = 'src/main/java'
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives javadocJar
archives sourcesJar
}
Properties properties = new Properties()
// 加載本地配置
properties.load(project.rootProject.file('local.properties').newDataInputStream())
bintray {
user = properties.getProperty("bintray.user")
key = properties.getProperty("bintray.apikey")
configurations = ['archives']
pkg {
repo = "maven" //發(fā)布到Bintray的那個倉庫里余掖,默認(rèn)賬戶有四個庫寸爆,我們這里上傳到maven庫
name = "mytool" //需更改,這個名字就是你在Bintray上創(chuàng)建Package的名字,這里會查詢赁豆,如果此包不存在就會創(chuàng)建一個仅醇。
websiteUrl = siteUrl
vcsUrl = gitUrl
licenses = ["Apache-2.0"]
publish = true
}
}
(9)在項(xiàng)目中的local.properties文件中添加用戶信息
bintray.user=YOUR_BINTRAY_USERNAME //你的Bintray用戶名
bintray.apikey=YOUR_BINTRAY_API_KEY //你的Key值
(10)最后打開Terminal,輸入命令執(zhí)行上傳,當(dāng)BUILD SUCCESSFUL時代表上傳成功魔种!
gradlew bintrayUpload
(11) 如果看到了這個就代表成功上傳析二,如果需要上傳到Jcenter點(diǎn)擊Add to Jcenter,輸入描述信息發(fā)送信息等待官方審核节预,審核通過即可直接根據(jù)地址調(diào)用叶摄。
如果沒有上傳Jcenter的話,要調(diào)用就需要先在項(xiàng)目根目錄build.gradle中安拟,添加如下:
allprojects {
repositories {
jcenter()
maven {
url "http://dl.bintray.com/junwen/maven" //這個要添加蛤吓,只要更改junwen成你的用戶名即可
}
}
}
之后在app/build.gradle中添加 compile 'com.junwen.mytool:mytool:1.0.0' 即可使用
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.junwen.mytool:mytool:1.0.0'
}
總結(jié)
在本地的build.gradle配置中,配置的Package名字如果不存在糠赦,他會自動創(chuàng)建柱衔,所以以后可以先配置項(xiàng)目,直接上傳愉棱,他會根據(jù)你本地上傳給予的項(xiàng)目名唆铐,自動創(chuàng)建Bintray對應(yīng)的Package包。
歡迎關(guān)注我的微信公眾號,分享更多技術(shù)文章奔滑。