你的位置:首页 > 操作系统

[操作系统]使用gradle上传项目到jcenter


想不想把自己的库也上传到jcenter,然后只需要一名话compile com.zzb.library:android-common:0.1.0 //(compile group_id:artifact_id:version)
就可以引用你的库?按着下面的教程一步一步来就可以了

 

1.到https://bintray.com/注册一个账号

2.AndroidStudio创建一个项目,然后再在这个项目里创建一个library(File->New->New Module->Android Library)

3.打开项目根目录的gradle.properties文件,复制下面的内容,替换相应字段的值

VERSION_NAME=0.1.0GROUP=com.zzb.libraryPOM_NAME=jcenter testPOM_ARTIFACT_ID=commonPOM_PACKAGING=aar#比如我们引用appcompat-v7,那么会这么写 compile 'com.android.support:appcompat-v7:22.2.0'#实际对应的字段就是 compile 'GROUP:POM_ARTIFACT_ID:VERSION_NAME'POM_DESCRIPTION=项目描述#项目地址等,我这使用的是github的项目地址POM_URL=https://github.com/BaronZ/android-common-libraryPOM_SCM_URL=https://github.com/BaronZ/android-common-libraryPOM_SCM_CONNECTION=scm:git:git://github.com/BaronZ/android-common-library.gitPOM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/BaronZ/android-common-library.git#开源协议POM_LICENCE_NAME=The Apache Software License, Version 2.0POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txtPOM_LICENCE_DIST=repoPOM_DEVELOPER_ID=zzbPOM_DEVELOPER_NAME=ZZBPOM_DEVELOPER_EMAIL=realbo89@outlook.comPOM_DEVELOPER_URL=http://baronz.github.ioGIT_URL=https://github.com/BaronZ/android-common-library.gitISSUE_URL=https://github.com/BaronZ/android-common-library/issues

View Code

 

4.项目目录下build.gradle,dependencies添加引用

dependencies {    classpath 'com.android.tools.build:gradle:1.2.3'    classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'  }

View Code

 

5.项目目录下gradle目录添加文件gradle-jcenter-push.gradle,内容如下

apply plugin: 'maven-publish'apply plugin: 'com.jfrog.bintray'publishing {  publications {    mavenJava(MavenPublication) {      groupId GROUP      version VERSION_NAME      artifactId POM_ARTIFACT_ID      artifact "${project.buildDir}/outputs/aar/${project.name}-release.aar"      artifact androidJavadocsJar      artifact androidSourcesJar      pom.with= asNode()        root.appendNode('name', POM_ARTIFACT_ID)        root.appendNode('description', POM_DESCRIPTION)        root.appendNode('url', POM_URL)        def issues = root.appendNode('issueManagement')        issues.appendNode('system', 'github')        issues.appendNode('url', ISSUE_URL)        def scm = root.appendNode('scm')        scm.appendNode('url', POM_SCM_URL)        scm.appendNode('connection', POM_SCM_CONNECTION)        scm.appendNode('developerConnection', POM_SCM_DEV_CONNECTION)        def license = root.appendNode('licenses').appendNode('license')        license.appendNode('name', POM_LICENCE_NAME)        license.appendNode('url', POM_LICENCE_URL)        license.appendNode('distribution', POM_LICENCE_DIST)      }    }  }}def getBintrayUserProperty() {  return hasProperty('BINTRAY_USER') ? BINTRAY_USER : ""}def getBintrayApiKeyProperty() {  return hasProperty('BINTRAY_APIKEY') ? BINTRAY_APIKEY : ""}// gradle bintrayUploadbintray {  user = getBintrayUserProperty()  key = getBintrayApiKeyProperty()  publications = ['mavenJava']  dryRun = false  publish = true  pkg {    repo = 'maven'    name = POM_ARTIFACT_ID    desc = POM_NAME    websiteUrl = POM_URL    issueTrackerUrl = ISSUE_URL    vcsUrl = GIT_URL    licenses = ['Apache-2.0']    labels = ['android', 'aar']    publicDownloadNumbers = true    version {      name = VERSION_NAME      vcsTag = VERSION_NAME    }  }}

View Code

 6.项目目录下gradle目录添加文件android-artifacts.gradle,内容如下

task androidJavadocs(type: Javadoc) {  source = android.sourceSets.main.java.srcDirs  classpath += project.files(android.getBootClasspath().join(File.pathSeparator))}task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {  classifier = 'javadoc'  from androidJavadocs.destinationDir}task androidSourcesJar(type: Jar) {  classifier = 'sources'  from android.sourceSets.main.java.sourceFiles}

View Code

 7.在library目录下的build.gradle底部添加下面两行脚本

apply from: rootProject.file('gradle/android-artifacts.gradle')apply from: rootProject.file('gradle/gradle-jcenter-push.gradle')

View Code

 8.登录bintray.com创建maven库

  • 点击maven
  • 点击Add New Package
  • 填入相应的信息,再点Create Package即可
  • 回到bintray主页,点击edit
  • 点击API Key
  • 点击show,记下你的API Key,等下要用

9.找到你home目录下的gradle.properties(windows下目录是C:\Users\你的电脑名称\.gradle),添加下面两行脚本

BINTRAY_USER=你的bintray.com的用户名BINTRAY_APIKEY=上面一步让你记下的API Key

View Code

10.好了,敲下面命令,坐等上传成功,cmd->进入你的项目目录(注,执行下面的命令,请确保设置好环境变量,path里面有gradle/bin,有JAVA_HOME环境变量)

gradle clean build bintrayUpload

 如果看到执行结果如下,那么恭喜你,还差一步

如果在生成Javadoc的时候遇到'编码GBK的不 可映射字符'错误,打开gradle/android-artifacts.gradle

添加下面代码到androidJavadocs这个任务里面

allprojects {    tasks.withType(Javadoc) {      options.encoding = "UTF-8"    }}

View Code

即完整脚本如下

task androidJavadocs(type: Javadoc) {  source = android.sourceSets.main.java.srcDirs  classpath += project.files(android.getBootClasspath().join(File.pathSeparator))  allprojects {    tasks.withType(Javadoc) {      options.encoding = "UTF-8"    }  }}

View Code

 11.还需要点add to jcenter,坐等审核通过

 

12.几个小时后,当你看到下面的截图,恭喜你,可以引用的你库了

13.下面一句话,引用你的库,大功告成

compile com.zzb.library:android-common:0.1.0

 




贵州旅游团购优惠贵州旅游线路报价贵州旅游指南攻略大全贵州旅游住哪里比较方便贵州旅游住宿攻略长隆欢乐世界五一有什么好玩的?广州长隆欢乐世界五一门票价格? 柳州三月三活动介绍?2015柳州三月三有什么好玩的? 长隆欢乐世界门票包含水上乐园吗?长隆欢乐世界和水上乐园联票价格? 神龙水世界景区官网?桂林神龙水世界网站? 2015广东油菜花景点有哪些?广东油菜花哪里的好看? 惊蛰惊虫起 以花之名义约会春天 2015花都红山村油菜花开了吗?花都红山村油菜花什么时候去最好看? 春风又绿江南岸 淮安何处寻花影 古诗中藏着的无锡美景 跟着小旅背古诗 南昌八大最美夜景地 一览灯火辉煌 高原明珠城 最美马尔康生态旅游节 最美风景线 318国道上的四川 去马尔代夫卡尼岛度蜜月怎么样? 7月马尔代夫天气好吗?穿什么? 马尔代夫海滩上的螃蟹能抓来吃吗? 曼谷出租起步价多少钱? IDT5V9885CPFI8 Datasheet IDT5V9885CPFI8 Datasheet IDT71V3558SA200BQGI Datasheet IDT71V3558SA200BQGI Datasheet IDT5V9885NLGI Datasheet IDT5V9885NLGI Datasheet 牡丹江跟团去港澳价格 牡丹江跟团去港澳价格 牡丹江跟团去港澳价格 齐齐哈尔到香港澳门旅游价格 齐齐哈尔到香港澳门旅游价格 齐齐哈尔到香港澳门旅游价格 吉林到香港旅游团价格 吉林到香港旅游团价格 吉林到香港旅游团价格