使用Gradle发布项目到JCenter仓库

2017-05-22  本文已影响51人  Nestor_Gu

JCenter现在是Android Studio中repositories的默认节点了,之前是Maven的,不过JCenter是兼容Maven的,所以放心使用。

  1. 申请Bintray账号
  1. 生成jar/aar包
buildscript {
   repositories {
       jcenter()
   }
   dependencies {
       classpath 'com.android.tools.build:gradle:2.0.0'
       //自动化maven打包插件
       classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
   }
}

allprojects {
   repositories {
       jcenter()
   }
}

注意自动化maven打包插件的版本,网速查到的资料写的都是1.0或1.1;gradle升级后已经不能再用旧版本了

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

 version = "1.6.4"

 android {
     compileSdkVersion 23
     buildToolsVersion "23.0.3"
     resourcePrefix "numchoose_"

     defaultConfig {
         minSdkVersion 14
         targetSdkVersion 23
         versionCode 31
         versionName version
     }
     buildTypes {
         release {
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
         }
     }
 }

 def siteUrl = 'https://github.com/nesror/NumChooseView' // 项目的主页
 def gitUrl = 'https://github.com/nesror/NumChooseView.git' // Git仓库的url
 group = "cn.yzapp.numchooseview" // 一般填你唯一的包名
 install {
     repositories.mavenInstaller {
         pom {
             project {
                 packaging 'aar'
                 //项目描述
                 name 'Android number choose view'
                 url siteUrl
                 // 开源协议
                 licenses {
                     license {
                         name 'The Apache Software License, Version 2.0'
                         url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                     }
                 }
                 developers {
                    //填写的基本信息
                     developer {
                         id 'nestor'
                         name 'nestor'
                         email 'nestor@yzapp.cn'
                     }
                 }
                 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 = 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"
         name = "NumChooseView"    //发布到JCenter上的项目名字
         websiteUrl = siteUrl
         vcsUrl = gitUrl
         licenses = ["Apache-2.0"]
         publish = true
     }
 }
bintray.user=your_user_name
bintray.apikey=your_apikey
  1. 这一步为止,就可以把你项目生成到本地的仓库中了,Android Studio中默认即在Android\sdk\extras\android\m2repository这里,所以我们可以通过如下命令执行生成:
  1. 上传到Bintray
   dependencies {
       classpath 'com.android.tools.build:gradle:2.0.0'
       //自动化maven打包插件
       classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
       //自动上传至Bintray平台插件
       classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4"
   }
  1. 申请你的Repo添加到JCenter
  1. 使用
  1. 可能会遇到的问题

此为blog备份,原地址:http://blog.yzapp.cn/使用Gradle发布项目到JCenter仓库.html

上一篇下一篇

猜你喜欢

热点阅读