使用Gradle发布项目到JCenter仓库

有没有想过,自己的类库能像开源项目那样,一句话进行导入,方便他人使用你的类库呢??如下:


Alt text

本教程教你如何实现。历经整整一个下午,终于搞定了。

详细教程

使用Gradle发布项目到JCenter仓库,此处不再多于讲诉,按着步骤来,便可以实现,但还是遇到一些bug,在这里记录下, 方便后人。

  1. 顶层项目加入
dependencies {
   classpath 'com.android.tools.build:gradle:1.0.0'
   classpath 'com.github.dcendents:android-maven-plugin:1.2'
   classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
   // NOTE: Do not place your application dependencies here; they belong
   // in the individual module build.gradle files
 }

这三条语句最好是不要变。
本来我的默认gradle1.1的,结果配置过程中,报:Cannot call getBootClasspath() before setTargetInfo() is called
上面教程会缺少:classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'这句(教程是在后面才加入),但我失去这句还是会报错,貌似无法进行刷新的错误,具体忘记了

  1. 配置library中的build.gradle,注意
def siteUrl = 'https://github.com/zhengxiaopeng/BounceProgressBar'      // 项目的主页
def gitUrl = 'https://github.com/zhengxiaopeng/BounceProgressBar.git'   // Git仓库的url
group = "org.rocko.bpb"                                        // Maven Group ID for the artifact,一般填你唯一的包名

特别是group,它是唯一标示你的项目地址的,到时候进行compile会进行用到,这里我的疏忽,第一次的时候,直接用到作者的了,结果变成了引用作者的类库,而自己的却不见了,应该是产生了冲突。
值得注意的这里:

// This is the library version used when deploying the artifact
version = "1.0.0"

必须制定版本号,否则审核成功后,你将会发现unspecified标示的错误。

  1. 获得bintray的信息,如账号和key
    具体看这里:使用Gradle发布Android开源项目到JCenter

  2. 下一步就是进行installbintrayUpload
    刚开始,我以为我要使用cmd的命令行或者git的命令行进行操作,结果提示我找不到相应的指令。看了教程是提示我要下载gradle,到时android studio本身就是使用Gradle进行编译,为什么还是这种提示呢?而且网上下载的并不是exe文件,该怎样进行安装呢?最后突发奇想,我便使用android studio自带的terminal进行敲入如下的命令,发现会as自己先下载好对应gradle的版本,并进行执行相应的命令,突然觉得这真是太好用了。

    Alt text

  3. 最后是向管理员提交类库的申请了。这一步管理员进行审核等待,在结果没有出来之前还是可以马上进行加体验的,不过需要以下的配置。(在需要导入类库的地方)

第一步:在顶层的build.gradle

buildscript {
    repositories {
        maven { url "http://dl.bintray.com/trity93/maven" }
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'
    }
}
allprojects {
    repositories {
        maven { url "http://dl.bintray.com/trity93/maven" }
        mavenCentral()
        jcenter()
    }
}

主要是加入(申明去哪里进行拉取类库)

maven { url "http://dl.bintray.com/trity93/maven" }
mavenCentral()

上面maven格式为:maven {url http://dl.bintray.com/你的用户名/maven}

第二步:在自己的appbuild.gradle添加

compile 'cc.trity.floatingactionbutton:library:+'

这里的library统一使用+,或者使用你对应的版本号

参考资料

Android拓展系列(12)--使用Gradle发布aar项目到JCenter仓库
Android Studio发布项目到Jcenter

你可能感兴趣的:(使用Gradle发布项目到JCenter仓库)