星空网 > 软件开发 > 操作系统

使用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文件,复制下面的内容,替换相应字段的值

使用gradle上传项目到jcenterimages/loading.gif' data-original="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" />使用gradle上传项目到jcenter
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添加引用

使用gradle上传项目到jcenter使用gradle上传项目到jcenter
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,内容如下

使用gradle上传项目到jcenter使用gradle上传项目到jcenter
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,内容如下

使用gradle上传项目到jcenter使用gradle上传项目到jcenter
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底部添加下面两行脚本

使用gradle上传项目到jcenter使用gradle上传项目到jcenter
apply from: rootProject.file('gradle/android-artifacts.gradle')apply from: rootProject.file('gradle/gradle-jcenter-push.gradle')

View Code

 8.登录bintray.com创建maven库

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

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

使用gradle上传项目到jcenter使用gradle上传项目到jcenter
BINTRAY_USER=你的bintray.com的用户名BINTRAY_APIKEY=上面一步让你记下的API Key

View Code

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

gradle clean build bintrayUpload

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

使用gradle上传项目到jcenter

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

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

使用gradle上传项目到jcenter使用gradle上传项目到jcenter
allprojects {    tasks.withType(Javadoc) {      options.encoding = "UTF-8"    }}

View Code

即完整脚本如下

使用gradle上传项目到jcenter使用gradle上传项目到jcenter
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,坐等审核通过

 

使用gradle上传项目到jcenter

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

使用gradle上传项目到jcenter

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

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

 




原标题:使用gradle上传项目到jcenter

关键词:上传

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

利器商标注册品牌备案:实现专业化品牌管理:https://www.kjdsnews.com/a/1313931.html
创新策略:突破国际商标第20类的技术壁垒:https://www.kjdsnews.com/a/1313932.html
企业及品牌保护:平行进口商标案例解读:https://www.kjdsnews.com/a/1313933.html
一步到位韩国官方商标查询网站:首尔优质的服务:https://www.kjdsnews.com/a/1313934.html
pta:让商标保护更严苛:https://www.kjdsnews.com/a/1313935.html
2020新商标注册报价:快速及时为您解决商标注册问题:https://www.kjdsnews.com/a/1313936.html
Twitter和Meta的付费认证服务值得购买吗?:https://www.kjdsnews.com/a/1836404.html
零售晚报:携程发布318成绩单 近800万商家GMV增长101% :https://www.kjdsnews.com/a/1836405.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流