代码上传到jcenter及填坑

首先我们看看写的gradle代码的含义:

compile 'com.first:FirstLibrary:1.0.0'

其组成是这样的:

GROUP_ID:ARTIFACT_ID:VERSION

GROUP_ID指的是com.first,类似于包名;ARTIFACT_ID指的是FirstLibrary,类似于类库的名称;VERSION是1.0.0,也就是版本号。

  • 注册账号

在bintray.com上面注册一个账号,然后登录进去。
注册登录地址:https://bintray.com/login?forwardedFrom=%2Flogin
这里写图片描述

  • 登进来之后创建仓库
    这里写图片描述

这里写图片描述

  • 创建一个package,点击刚才创建的MyMaven,进去后点击右下角的Add New Package
    这里写图片描述

这里写图片描述

这里写图片描述
截止到现在 Bintrary上面环境已经完成了,下面说下如何将一个项目中的库文件上传到jcenter上

  • 创建一个新的项目,然后创建一个model,这个就不详细描述了,如下图所示,咱们的目的是将firstlibrary上传到jcenter

这里写图片描述

  • 配置项目的根gradle

这里写图片描述

 dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'com.novoda:bintray-release:0.5.0'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
  • 配置库(项目中的Model—firstlibrary的)gradle,这个地方一定不要配置到项目的gradle下,

这里写图片描述

扫描二维码关注公众号,回复: 1479603 查看本文章
apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release'
publish {
    repoName = 'MyMaven'//远程仓库名字,不指明,默认是上传到maven
    userOrg = 'developwb'//bintray.com用户名
    groupId = 'com.first'//jcenter上的路径,bintray上创建Package时填写的Version control项
    artifactId = 'FirstLibrary'//项目名称,bintray上创建Package时填写的Name项
    publishVersion = '1.0.0'//版本号
    desc = '描述'//描述,不重要
    website = '111'//网站,最好有,不重要
}
android {
    compileSdkVersion 26



    defaultConfig {
  • 在终端输入如下命令
    gradlew clean build bintrayUpload -PbintrayUser=developwb -PbintrayKey=********************* -PdryRun=false
    其中PbintrayUser 是你的bintray账户名字 PbintrayKey我们需要到bintrary里面找,如下图

这里写图片描述

这里写图片描述

这里写图片描述

现在PbintrayUser和PbintrayKey我们都知道了,放到上面的命令中,对号入座,然后点击回车。。。坐等上传成功

这里写图片描述

看到下图中的successful就表示上传成功了。

这里写图片描述

  • 提交到jcenter

这里写图片描述

·这时候我们需要在下面填写审核描述(乱填都行不能不填,不填可能会审核失败!)(如下图↓↓↓)

这里写图片描述
·填写完成直接Send,一般一天之后就会审核通过,通过后项目的右下角的Add to JCenter 按钮就会消失!

审核通过后就可以引用了

compile 'com.first:FirstLibrary:1.0.0'
  • 上传常见错误

·下面我们来看看上传过程中的常见错误(如果你成功了可以不用看下面):

(1).HTTP/1.1 404 Not Found [message:Repo ‘MyMaven’ was not found]

这里写图片描述
找不到Maven库,可能是你没有创建,或者是你repoName的值跟你创建的仓库名字不一样,还有可能是你的userOrg也没有写对!

(2).HTTP/1.1 400 Bad Request [message:Please enter a valid VCS URL for your OSS package.]

这里写图片描述
找不到包,在对应的Maven库下没有创建对应的包,或者是你artifactId的值跟你创建的包名字不一样!
(3)有可能出现乱码问题
解决问题:在项目根目录gradle文件中添加以下代码

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

猜你喜欢

转载自blog.csdn.net/csdn_mm/article/details/80082832