首先扯点别的:上海的天气最近也是挺热的,都是快到40度,随便出去走走就出汗。
今天记录一下上如上传Android 的library到jcenter。
前提条件:已经正确注册了bintray账号。不会注册可以参考这个网址。
http://blog.youkuaiyun.com/roly_yu/article/details/53486731
注册完成以后找到Edit Your Profile这个选项
输入你的密码,然后查看你的API Key。这个后面会用到。
- 在bintray上新建一个仓库(Respository),仓库类型选在Maven.
2.在新建的仓库下面新建一个package。新建的package的 名字最好和你要上传的library的名字一致。
本地工作
新建一个Android项目,然后在项目里新建一个AndroidLibrary.
然后在修改project的build.gradle文件,加入用到的插件
dependencies {
classpath 'com.android.tools.build:gradle:2.3.2'
//用来生成项目的JavaDoc和source JARs的插件
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
//上传到bintray的插件
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
}
然后修改要上传的library的build文件
apply plugin: 'com.android.library'
//应用插件
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
// 这个version是区分library版本的,当需要更新library时记得修改这个version
version = "1.0.0"
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
lintOptions {
abortOnError false
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
testCompile 'junit:junit:4.12'
}
// 项目的主页
def siteUrl = 'https://github.com/humanheima/AndroidUtils'
// Git仓库的url
def gitUrl = 'https://github.com/humanheima/AndroidUtils.git'
// Maven Group ID for the artifact,一般填你唯一的包名
group = "com.brotherd.androidutilslibrary"
install {
repositories.mavenInstaller {
// This generates POM.xml with proper parameters
pom {
project {
packaging 'aar'
// Add your description here
description 'Android common utils'
//项目描述
name 'Android common utils,easy to use'
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 {
id 'humanheima'
name 'humanheima'
email 'humanheima@gmail.com'
}
}
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.getDestinationDir()
}
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 {
//发布到Bintray的仓库
repo = "KOF97"
//KOF97仓库里的package
name = "AndroidUtilsLibrary"
websiteUrl = siteUrl
vcsUrl = gitUrl
licenses = ["Apache-2.0"]
publish = true
}
}
注意下面这一段
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 {
//发布到Bintray的仓库
repo = "KOF97"
//KOF97仓库里的package
name = "AndroidUtilsLibrary"
websiteUrl = siteUrl
vcsUrl = gitUrl
licenses = ["Apache-2.0"]
publish = true
}
}
上面的user,和key放在local.properties里面
bintray.user=你的账户名
bintray.apikey=你的key
上面修改完成以后在Android Studio的命令行里输入
gradlew bintrayUpload
上传成功以后,可以查看你的仓库中的package
可以发现已经如何使用的方式了,点击 add to jCenter 就可以把这个library加入jcenter了(审核通过才行)。
结尾 没什么好说的,明天正常上班
参考链接
【1】http://blog.youkuaiyun.com/roly_yu/article/details/53486731
【2】http://www.jcodecraeer.com/a/anzhuokaifa/Android_Studio/2015/0227/2502.html
【3】http://blog.youkuaiyun.com/wwj_748/article/details/51913280