喜欢做些开源项目的朋友,相信有不少人都希望能把自己的项目发布到公共的中央仓库,如maven中央仓库,以供别人方便地集成使用。而使用了Android Studio的同学,应该也对gradle和jcenter印象深刻,不少开源库都是发布到这里的。这一篇就主要来介绍一下,如何使用Gradle发布到jcenter。

本文原创。

转载请注明CSDN博客出处:

http://blog.csdn.net/maosidiaoxian/article/details/43148643

注册

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

配置账号

我们需要配置一下BINTRAY_USER及BINTRAY_KEY两个属性。BINTRAY_USER即你注册的账号名,BINTRAY_KEY可通过以下方法找到。
如图所示,先点击你的账号名称进入个人页面。


然后点击Edit,进入编辑页面。


接着点击API key,再点右边的Show就可以看到API KEY了。



然后到你的.gradle目录下(如果你没有配置过GRADLE_USER_HOME的环境变量,则是在你的用户目录下),编辑gradle.properties(如果没有则创建),加入配置:

BINTRAY_USER=xxx
BINTRAY_KEY=xxx

配置项目

下载我的这个项目:https://github.com/msdx/gradle-publish,把gradle.properties拷贝到你的项目中,并配置这些属性。

然后参考这里的build.gradle,在你的build.gradle上面加入:
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
    classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
    }
}

再加上一句:

apply from: '你的bintray.gradle的相对路径'

你的bintray.gradle可以参考我这个项目的bintray.gradle 来写一下。我这里的bintray.gradle是用来发布android项目的,发布的文件包括源码,文档以及AAR,如果你也是要发布这些,则可以直接使用。

执行命令进行发布

配置完成后,执行gradle bintray,即会进行编译、打包以及发布。

包含到jcenter中央库

先进入此页面:https://bintray.com/bintray/jcenter。

然后点击Include My Package,如下图:
然后在弹出的对话框中搜索并勾上你的项目。

然后你可以写一下你的提交请求(貌似也可以不写?),点“Send”,接下来就看管理员审核了。

审核

等待管理员审核。通常都很快能通过。如果你比较心急,那么在审核通过之前,可以以maven {url http://dl.bintray.com/你的用户名/maven}的方式对你的仓库进行声明。


补充说明

如果添加上这段脚本之后,在android studio中运行项目会出错,请注释apply from那一句。出错原因在于它会找不到我打包aar的那个任务,但是在命令行下是可以的。如果有更好的打包aar的方法,欢迎交流。


使用Gradle发布Android开源项目到JCenter的更多相关文章

  1. [转]使用Gradle发布Android开源项目到JCenter

      转自:http://blog.csdn.net/maosidiaoxian/article/details/43148643 使用Gradle发布Android开源项目到JCenter 分类: G ...

  2. Android studio 使用Gradle发布Android开源项目到JCenter 总结

    1.注册账号 先到https://bintray.com注册一个账号.  这个网站支持 github 账户直接登录的 2.获取  bintray.user  和 bintray.apikey      ...

  3. Android 上传开源项目到 jcenter 实战踩坑之路

    本文微信公众号「AndroidTraveler」首发. 背景 其实 Android 上传开源项目到 jcenter 并不是一件新鲜事,网上也有很多文章. 包括我本人在将开源项目上传到 jcenter ...

  4. 教你一步步发布一个开源库到 JCenter

    今天想来分享下,如何一步步自己发布一个开源库到 JCenter 这方面的博客网上已经特别多了,所以本篇并不打算仅仅只是记录流程步骤而已,而是尽可能讲清楚,为什么需要有这个步骤,让大伙知其然的同时还知其 ...

  5. 2015-2016最火的Android开源项目--github开源项目集锦(不看你就out了)

    标签: Android开发开源项目最火Android项目github 2015-2016最火的Android开源项目 本文整理与集结了近期github上使用最广泛最火热与最流行的开源项目,想要充电与提 ...

  6. Android开源项目分类汇总

    目前包括: Android开源项目第一篇——个性化控件(View)篇   包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView. ...

  7. fir.im Weekly - 1000 个 Android 开源项目集合

    冬天到了,适宜囤点代码暖暖身.本期 fir.im Weekly 收集了最近一些不错的 GitHub 源码.开发工具和技术实践教程类文章分享给大家. codeKK - 集合近 1000 Android ...

  8. 59.Android开源项目及库 (转)

    转载 : https://github.com/Tim9Liu9/TimLiu-Android?hmsr=toutiao.io&utm_medium=toutiao.io&utm_so ...

  9. GitHub上史上最全的Android开源项目分类汇总 (转)

    GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...

随机推荐

  1. 负载均衡LVS(DR模式)安装实战

    1.编译安装ipvsadm 首先从LVS官网下载tarball,解压后make && make install即可. 要注意的是LVS的依赖有:popt-static.libnl.ke ...

  2. android M Launcher之LauncherModel (二)

    上一篇我们通过LauncherModel的创建 ,实例化,以及与LauncherModel之间的沟通方式.初步了解了LauncherModel一些功能及用法,如果对LauncherModel一系列初始 ...

  3. Android新特性Instant Run详解

    关于 Instant Run Android Studio 2.0 中引入的 Instant Run 是 Run 和 Debug 命令的行为,可以大幅缩短应用更新的时间.尽管首次构建可能需要花费较长的 ...

  4. ejabberd编译更新脚本

    ejabberd编译更新脚本 (金庆的专栏 2016.8) 用rebar编译ejabberd源码,然后复制编译所得beam文件到ejabberd安装目录, 调用ejabberdctl热更新. call ...

  5. LuaHotUpdate原理

    LuaHotUpdate原理(金庆的专栏)项目地址:https://github.com/asqbtcupid/lua_hotupdate只更新函数,不更新数据.主页上有个动画演示.限Windows平 ...

  6. weakref 待解决.

    暂时不知为何在控制台多执行一次b()后,del a就不会立即销毁Foo实例. >>> class Foo(object): def __init__(self): self.obj ...

  7. 优化Javascript数据遍历

    问题 M是一个对象的集合,没个对象拥有唯一的字符串类型的Id N是Id的集合. 从M中过滤掉Id不在N中的对象. 假如M有50w个数据,N中可能是0~50w任意的数据. 方案1 使用数组保存Id的集合 ...

  8. Basic Git commands

    Basic Git commands Skip to end of metadata Created by Paul Watson [Atlassian], last modified on Nov ...

  9. JDOM生成、解析XML实例

    import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import j ...

  10. Spark调度模式-FIFO和FAIR

    Spark中的调度模式主要有两种:FIFO和FAIR.默认情况下Spark的调度模式是FIFO(先进先出),谁先提交谁先执行,后面的任务需要等待前面的任务执行.而FAIR(公平调度)模式支持在调度池中 ...