您的位置:首页 > 移动开发 > Android开发

Android Studio上传项目到jcenter

2017-01-22 18:46 337 查看
现在我们使用Android Studio进行开发,当需要使用到第三方库的时候,通常情况下我们会在gradle文件中的依赖里边添加一句话 “compile xxx.xxx.xxx:xxx:1.0.0”,就可以非常方便的将别人的库引入到自己的项目中,今天我们就来和大家一起将自己写的代码上传到jcenter中,供别人调用。

首先,我们需要到bintray中注册一个账号。

注册好之后,我们到用户中心去获取API Key,一会要用到,如图所示:



获取到API Key之后,我们去配置我们的library,在项目的build.gradle中添加如下代码:

buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}


同时,在library的build.gradle中添加如下代码:

apply plugin: 'com.jfrog.bintray'
apply plugin: 'com.github.dcendents.android-maven'

def siteUrl = 'xxx' // 项目的主页 一般填你项目的github地址即可
def gitUrl = 'xxx.git' // Git仓库的url 填你项目的git地址
group = "com.gitzzp.bpb" // Maven Group ID for the artifact,一般填你唯一的包名
version = "1.0.0"//项目版本号
install {
repositories.mavenInstaller {
// This generates POM.xml with proper parameters
pom {
project {
packaging 'aar'
// Add your description here
name 'test jcenter' //项目描述
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 'gitzzp'    //填写一些开发者的基本信息
name 'zhangzhipeng'
email 'gitzzp123@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) {
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.rootProject.file('local.properties').newDataInputStream())
bintray {
user = properties.getProperty("bintray.user")
key = properties.getProperty("bintray.apikey")
configurations = ['archives']
pkg {
repo = "maven"         //仓库名字 repository
name = "gitzzptest"    //发布到JCenter上的项目名字 package
userOrg = 'gitzzp9'    //组织名称 organization
//上边三个可自由填写 但是一定要和bintray账号中我们添加的组织、仓库、包名对应上,否则肯定上传失败 一会我们去bintray中添加这几项。
websiteUrl = siteUrl
vcsUrl = gitUrl
licenses = ["Apache-2.0"]
publish = true
}
}


在项目的local.properties文件中添加如下代码:

bintray.user=gitzzp123     //你的bintray用户名
bintray.apikey=***         //我们刚才从bintray中获取的API Key


library我们已经配置完成,现在我们回头去bintray中创建组织、仓库和包,在我们bintray的个人主页中依次创建组织,如图所示:







这里有几个需要注意的问题,repositories的名称是可以随便填的,但是类型要选maven,package创建的时候,注意licenses和version control就可以了。

都创建好之后,将几个名称一一对应的填到我们library对应的位置即可。

然后,我们来上传libray,在Android Studio中打开命令行,分别运行如下命令,即可成功上传:

./gradlew install

./gradlew bintrayUpload


注:

1.如果是windows系统,将前边“./”去掉。

2.如果出现404的问题,一般是你的某种信息没有对应上,仔细检查即可,千万注意组织、仓库和包这几个位置。



上边红线的位置,依次对应的就是组织,仓库和包名,可以在浏览器中进行验证:https://bintray.com/加上红线标注的内容。

最后,我们将上传成功的libray发布到jcenter中,在package页面中的右下角位置可以找到按钮,如图所示:



然后坐等审核通过,就可以使用了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gradle jcenter bintray