android分布module到jcenter

作为一个android开发工程师,经常会用到一些开源的框架或者效果。最近自己也做了一些简单的效果想上传上去,供他人使用。直接通过compile方式就可以使用,不再需要去github上clone。下面我介绍一下我实际操作的步骤和遇到的一些问题。

1.首先需要去注册一个jcenter账号:https://bintray.com/signup/oss (注意这个是个人注册的地址,还有一个是企业的)

注意:邮箱要是国外的邮箱,QQ邮箱和网易等邮箱是不能使用的,我这里用的gmail。

在注册邮箱的使用也遇到了一个问题:提示此电话号码无法用于进行验证,网上找了很多方法都无法解决,最后我是通过QQ邮箱APP注册的gmail。(在注册gmail邮箱的时候,需要注意输入手机号的时候,选择相应的国家)

2.注册之后,进入到jcenter账号:


点击Add New Repository 添加项目库:(注意:name最好为maven


然后找到自己的api key,留用:


然后提交之后就会得到API Key。

3.配置自己的项目:

1)在项目的build.gradle中添加:

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

然后在module中的build.gradle中添加:

apply plugin: 'com.novoda.bintray-release'
//添加
publish {
    userOrg = 'whatshappen'//用户名
    groupId = 'com.whathappen'//组名。如果包名是com.whathappen.progresslibrary则填写com.whathappen
    artifactId = 'progresslibrary'//项目名称
    publishVersion = '1.0.0'//版本号
    desc = 'progress view'//描述
    website = 'https://github.com/whatshappen/ProgressView'//github上的项目地址
    licences = ['Apache-2.0']
}
//避免乱码
allprojects {
    tasks.withType(Javadoc) {
        options{
            encoding "UTF-8"
            charSet 'UTF-8'
            links "http://docs.oracle.com/javase/7/docs/api"
        }
    }
}

4.然后在Terminal终端输入:

gradlew clean build bintrayUpload -PbintrayUser=username -PbintrayKey=apikey -PdryRun=false

username:自己的jcenter账号;api key 就是之前留用的key。

此时还剩最后一步。当上述指令执行完成之后,登录jcenter,然后在创建的仓库下点击进去详情:



或者是在地址栏输入:https://bintray.com/用户名/maven。

然后点击项目,提交给jcenter审核。


在红框位置有一个add to jcenter按钮,点击提交,就可以了,一般在两三个小时就有结果了。

注意:我在运行这段程序的时候遇到的问题:

1.


这个原因是因为jdk与gradle的版本不匹配,我用的studio为2.3.3,gradle版本配置的2.3.3。然后将studio的jdk指定为1.8,还是不可以,通过终端打印jdk版本:

java -version

发现是1.7版本(我电脑里安装了1.7和1.8两个版本的jdk),所以需要指定java home 为1.8版本,我修改之后,执行,还是相同的错误,后来通过查资料,找到了另外一种解决方式,在项目的gradle.properties文件配置中设置javahome的路径:

org.gradle.java.home=jdk路径

解决了这个问题。

2.

这个问题是因为,没有创建maven仓库,也就是没有进行【点击Add New Repository 添加项目库:(注意:name最好为maven】这一步

3.

在之后的更新的时候又遇到这个问题:

Execution failed for task ':progresslibrary:mavenAndroidJavadocs'.


解决办法: 可以在项目的gradle中添加

tasks.withType(Javadoc) {
        options.addStringOption('Xdoclint:none', '-quiet')
        options.addStringOption('encoding', 'UTF-8')
    }

可以避免去检测mavenAndroidJavadocs文件



猜你喜欢

转载自blog.csdn.net/wangwasdf/article/details/79666139