Android简单项目上传到jcenter(基于bintray-release),不涉及混淆等

参考文章:

http://blog.csdn.net/lmj623565791/article/details/51148825

http://blog.csdn.net/u012375207/article/details/56840217

bintray-release的github网址

https://github.com/novoda/bintray-release

这几天,在学习项目上传jcenter的东西,遇到一些问题,在这里写出来,算是一个总结笔记了。期间遇到的问题,会在文章最后写出来。先完整的走一遍正确、成功的流程。

1、注册bintray.com账号
关于Android Studio、bintray、jcenter直接的关系,我的理解是:Android Studio写好功能代码,这是第一步:备货;然后上传到bintray,这是第二步:装车;然后,告诉车,货已经装好了,发车,车就开始把“货”拉到仓库jcenter。用户用的时候,就是通过gradle中的一个引用,去仓库拿货。

bintray主页:

https://bintray.com/

进去后,会看到页面
这里写图片描述

其中,1入口去注册得到的账号,是企业版的,注册之后的是企业账号,需要有30天的激活时间,在30天内需要缴费才能够正常使用,如果30天内未缴费,则会被作废处理。

2入口,才是个人的。

注意,不要用QQ邮箱注册!

2、注册就不讲了,一步一步来就行。注册成功后,登录,会看到如下界面:
这里写图片描述

我标出来的API Key 入口,一会要用。先了解一下。主要看我圈住的地方:chen(Maven)
这个新建后是没有的,要新创建,名字随意,但是一定要是Maven类型的。而且License要是Apache-2.0的。如果以前已经有了,但是不是Apache-2.0的,可以去更新一下License。

点击 Add New Respository

这里写图片描述

创建成功后,点击API Key入口的任一入口,去查看自己的API Key

这里写图片描述

输入自己的bintray账号的登录密码,就能看到了,不过是密文的,点击“show”,会看到明文,复制出来,一会要用。

到此为止,“车”已经准备好了,仓库本来就有。就等我们准备“货”了。下面,我们开始备货。

新加一个项目。建好后,在项目上new 一个module

这里写图片描述

选择Android Library。

我这里是创建了一个项目:ChenDemo,然后新建了一个moudle:mylibrary,项目中不用管,最后发布的是moudle。然后,在moudle中写个工具类:

这里写图片描述

到此为止,货有了。接下来,就是装车了。

1、在整个项目的build.gradle下,添加语句

classpath 'com.novoda:bintray-release:0.5.0'

如果moudle中的工具上有中文注释,还需要加上

tasks.withType(Javadoc) {
        options{
            encoding "UTF-8"
            charSet 'UTF-8'
            links "http://docs.oracle.com/javase/7/docs/api"
        }
    }

如图:

这里写图片描述

2、然后,再去要发布的moudle(我这里是mylibrary)下的gradle下添加

//添加
apply plugin: 'com.novoda.bintray-release'

//添加
publish {
    userOrg = 'chenjianqiang'//bintray用户名
    repoName = 'chen'//要传到的maven的名字。你可能有多个maven,要传哪个写哪个。
    groupId = 'com.chenjq'//jcenter上的路径
    artifactId = 'mylibrary'//项目名称
    publishVersion = '1.0.0'//版本号
    desc = 'the first time uploading'//描述,不重要
    website = 'https://github.com'//网站,不重要;尽量模拟github上的地址
}

如图:

这里写图片描述

3、打开Terminal。需要指向当前项目。一般都是默认这个
然后输入命令行:

gradlew clean build bintrayUpload -PbintrayUser=aaa -PbintrayKey=bbb -PdryRun=false

说明:
s1、我这里的环境是windows环境,如果有用mac的,命令行应该是

./gradlew clean build bintrayUpload -PbintrayUser=aaa -PbintrayKey=bbb -PdryRun=false

这个我没验证过,不确定。

s2、PbintrayUser是你的bintray的用户名
s3、PbintrayKey是刚才说的API Key

这里写图片描述

4、回车,然后耐心等待。不出意外,会出现

这里写图片描述

5、完美!!!

装车成功了!!!这个时候,再去bintray页面看看,可以看到

这里写图片描述

看到了吧。mylibrary上传这里了。然后点击

这里写图片描述

就会看到

这里写图片描述

继续点击mylibrary

这里写图片描述

继续

这里写图片描述

点击send。终于发车了!!!

接下来,我们需要做的,就是静静的等待。等仓库管理员审核过了,会给你bintray账号发邮件,或者在网页上访问链接

https://jcenter.bintray.com/你的groupId

查看。

我上面gradle中写的groupId 是com.chenjq,所以,链接就是

https://jcenter.bintray.com/com/chenjq

如果没有还没有结果,就会看到

这里写图片描述

审核比较费时间。几小时到1天不等。这里假装立刻成功了,访问链接,会看到

这里写图片描述

这就说明成功了。如果还不放心,去bintray邮箱中看一下。

这里写图片描述

如果我们再点击mylibrary

这里写图片描述

会看到没有 Add to Jcenter了
这里写图片描述

终于到了仓库了。接下来就是使用了。使用的引用是

compile 'com.chenjq:mylibrary:1.0.0'

这里为什么是com.chenjq、mylibrary、1.0.0这3个呢。去看看moudle的gradle中的publish就知道了

直接上图了:

这里写图片描述

这里写图片描述

这里写图片描述

完美!!!

—————————————————————————————————-

在实际用的时候,遇到了这样的bug

Error:Could not get unknown property 'main' for SourceSet container of type org.gradle.api.internal.tasks.DefaultSourceSetContainer.

或者是

这里写图片描述

找了半天原因,通过文档

https://github.com/zhihu/Matisse/issues/51

发现,bintray-release已经更新到0.5.0了,但是是之前的博客还是用的 0.3.4或者0.4.0,我把版本改成0.5.0,就好了。

最后,附上bintray-release的github网址,实际用的时候,先看下最新bintray-release的版本

https://github.com/novoda/bintray-release

猜你喜欢

转载自blog.csdn.net/u014620028/article/details/78406167