首页 > 代码库 > Android开发:怎样把Android studio中的Library公布到Jcenter

Android开发:怎样把Android studio中的Library公布到Jcenter

本人之前写了个简单的库,想放到Jcenter上。查过各种资料。踩过各种坑,久经折腾。最终发现了一个很easy而且高效的方法。现分享出来,该方法本人亲測可用,实现起来大概仅仅须要半个小时。这种方法是国外的一个牛人写出来的。我这里主要是做个翻译兼整理。

1 整理须要公布的Module

在须要公布的Library的Build.Gradle文件的最以下,加入这行代码

apply from: ‘https://raw.githubusercontent.com/blundell/release-android-library/master/android-release-aar.gradle‘

效果如图:

技术分享

接着,在apply plugin: ‘com.android.library’后面,加入例如以下代码:

ext {
    PUBLISH_GROUP_ID = ‘cn.weidongjian.android‘
    PUBLISH_ARTIFACT_ID = ‘progress-button‘
    PUBLISH_VERSION = ‘0.2‘
}

当中PUBLISH_GROUP_ID填写相应开发人员的名称,PUBLISH_ARTIFACT_ID填写项目的名称,PUBLISH_VERSION填写项目的版本号,但公布到Jcenter通过后。你的compile地址即是:
PUBLISH_GROUP_ID:PUBLISH_ARTIFACT_ID:PUBLISH_VERSION
比方说,我的这个项目的地址是:

compile ‘cn.weidongjian.android:progress-button:0.2‘

效果例如以下:
技术分享

2 生成Zip文件

打开terminal,填入这行代码。然后按Enter

gradlew clean build generateRelease

效果如图:
技术分享

点击Enter后,假设你是第一次生成。须要下载相应的Gradle文件,假设下载失败的话,说明你须要FQ。下载完毕后,即開始生成zip文件。会有很多消息产生,大概是这个样子

技术分享

最后说明zip文件成功生成,而且地址在F:\practise\ProgressButton\progressbutton\build/release-0.2.zip。把这个zip文件挪到桌面,后面要用的到。

3 注冊bintray账号并建立仓库

进入bintray,点击注冊一个账号
然后在主页中点击 New Repository 。新建一个仓库

技术分享

仓库名称随便写。type记得选择Maven,以下的GPG之类的,不要勾选

技术分享

然后在仓库的主页上。点击Add New Package

技术分享

生成新的package,这个package的名称能够选择填写Library的名称,License选择Apache-2.0

技术分享

点击Create Package生成Package

4 建立Vertion而且上传zip包

进入package的页面。点击New Version,新建一个version

技术分享

填写不要的信息,然后在package页面。点击新建好的version。我这里的新建的version的名称叫InitialCommit。进入version页面

技术分享

然后点击Upload Files。上传之前生成的Zip包

技术分享

点击Click to add files,加入文件,文件加入成功后。要选中exploding the archive选项

技术分享

技术分享

然后点击Save Changes。接着页面会提示你有几个文件没有publish。你点击publish既能够

4 公布到Jcenter

接在回到package页面。再右下角有一个Add To Jcenter的按钮,点击申请上传到Jcenter

技术分享

上传到Jcenter须要审核大概两个小时,审核通过后会邮件通知你。这样就大功告成了。然后就能够把你的compile地址告诉别人了。不知道compile地址,请查看第一点

这种方法是我尝试多个方法中最简单的一个了。基本自己不用做特别的操作,依照步骤一步一步来就能够了,希望对你有所帮助,如有不论什么疑问,欢迎留言,谢谢!

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

Android开发:怎样把Android studio中的Library公布到Jcenter