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

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

注册

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

配置账号

我们需要配置一下BINTRAY_USER及BINTRAY_KEY两个属性。BINTRAY_USER即你注册的账号名,BINTRAY_KEY可通过以下方法找到。
如图所示,先点击你的账号名称进入个人页面。
![](http://img.blog.csdn.net/20150126092456203?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWFvc2lkaWFveGlhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
然后点击Edit,进入编辑页面。
![](http://img.blog.csdn.net/20150126092541646?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWFvc2lkaWFveGlhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
接着点击API key,再点右边的Show就可以看到API KEY了。
![](http://img.blog.csdn.net/20150126092533531?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWFvc2lkaWFveGlhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
然后到你的.gradle目录下(如果你没有配置过GRADLE_USER_HOME的环境变量,则是在你的用户目录下),编辑gradle.properties(如果没有则创建),加入配置:
      **[plain]** [view plain](http://blog.csdn.net/maosidiaoxian/article/details/43148643#)<span class="tracking-ad" data-mod="popu_168"><span class="tracking-ad" data-mod="popu_168"> [copy](http://blog.csdn.net/maosidiaoxian/article/details/43148643#)</span></span>
    

    
    <div>
      <embed id="ZeroClipboardMovie_1" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" type="application/x-shockwave-flash" width="18" height="18" align="middle" name="ZeroClipboardMovie_1">
      </embed>
    </div>
    
    

      <span class="tracking-ad" data-mod="popu_167">[![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/589055)</span><span class="tracking-ad" data-mod="popu_170">[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/589055/fork)</span>
    

  </div>
</div>


  - BINTRAY_USER=xxx
  
  - BINTRAY_KEY=xxx

配置项目

下载我的这个项目:https://github.com/msdx/gradle-publish,把gradle.properties拷贝到你的项目中,并配置这些属性。
然后参考这里的build.gradle,在你的build.gradle上面加入:
      **[java]** [view plain](http://blog.csdn.net/maosidiaoxian/article/details/43148643#)<span class="tracking-ad" data-mod="popu_168"><span class="tracking-ad" data-mod="popu_168"> [copy](http://blog.csdn.net/maosidiaoxian/article/details/43148643#)</span></span>
    

    
    <div>
      <embed id="ZeroClipboardMovie_2" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" type="application/x-shockwave-flash" width="18" height="18" align="middle" name="ZeroClipboardMovie_2">
      </embed>
    </div>
    
    

      <span class="tracking-ad" data-mod="popu_167">[![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/589055)</span><span class="tracking-ad" data-mod="popu_170">[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/589055/fork)</span>
    

  </div>
</div>


  - buildscript {
  
  - repositories {
  
  - jcenter()
  
  - }
  
  - dependencies {
  
  - classpath <span class="string">&#8216;com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0&#8217;</span>
  
  - }
  
  - }
再加上一句:
      **[java]** [view plain](http://blog.csdn.net/maosidiaoxian/article/details/43148643#)<span class="tracking-ad" data-mod="popu_168"><span class="tracking-ad" data-mod="popu_168"> [copy](http://blog.csdn.net/maosidiaoxian/article/details/43148643#)</span></span>
    

    
    <div>
      <embed id="ZeroClipboardMovie_3" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" type="application/x-shockwave-flash" width="18" height="18" align="middle" name="ZeroClipboardMovie_3">
      </embed>
    </div>
    
    

      <span class="tracking-ad" data-mod="popu_167">[![在CODE上查看代码片](https://code.csdn.net/assets/CODE_ico.png)](https://code.csdn.net/snippets/589055)</span><span class="tracking-ad" data-mod="popu_170">[![派生到我的代码片](https://code.csdn.net/assets/ico_fork.svg)](https://code.csdn.net/snippets/589055/fork)</span>
    

  </div>
</div>


  - apply from: <span class="string">&#8216;你的bintray.gradle的相对路径&#8217;</span>
你的bintray.gradle可以参考我这个项目的bintray.gradle 来写一下。我这里的bintray.gradle是用来发布android项目的,发布的文件包括源码,文档以及AAR,如果你也是要发布这些,则可以直接使用。

执行命令进行发布

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

包含到jcenter中央库

先进入此页面:https://bintray.com/bintray/jcenter。
然后点击Include My Package,如下图:
![](http://img.blog.csdn.net/20150202091406259?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWFvc2lkaWFveGlhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
然后在弹出的对话框中搜索并勾上你的项目。
![](http://img.blog.csdn.net/20150202091431609?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWFvc2lkaWFveGlhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
然后你可以写一下你的提交请求(貌似也可以不写?),点“Send”,接下来就看管理员审核了。
![](http://img.blog.csdn.net/20150202091438535?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWFvc2lkaWFveGlhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)

审核

等待管理员审核。通常都很快能通过。如果你比较心急,那么在审核通过之前,可以以maven {url http://dl.bintray.com/你的用户名/maven}的方式对你的仓库进行声明。
## 补充说明
如果添加上这段脚本之后,在android studio中运行项目会出错,请注释apply from那一句。出错原因在于它会找不到我打包aar的那个任务,但是在命令行下是可以的。如果有更好的打包aar的方法,欢迎交流。

💬 评论