如何发布我们个人的项目到jcenter中心仓库,并在项目中依赖

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy901213/article/details/82562295

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

compile 'com.first:FirstLibrary:1.0.0'
   
   
  • 1

其组成是这样的:

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
    }
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 配置库(项目中的Model—firstlibrary的)gradle,这个地方一定不要配置到项目的gradle下,

这里写图片描述

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 {
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 在终端输入如下命令
    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
  • 上传常见错误

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

(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的值跟你创建的包名字不一样!

第三个坑:Execution failed for task ‘:core:lint’.

Execution failed for task ‘:core:lint’.
> Lint found errors in the project; aborting build.

在上传过程中执行了lint检查,所以可能会报上面的错误。解决方法就是避免lint的检查,在每个module的gradle下面就要添加如下配置:

android {
lintOptions {
abortOnError false
}
}


第四个坑:Execution failed for task ‘:core:mavenAndroidJavadocs’.

Execution failed for task ‘:core:mavenAndroidJavadocs’.
> Javadoc generation failed. Generated Javadoc options file (useful for troubleshooting): ‘/Users/zhou/git/app/core/build/tmp/mavenAndroidJavadocs/javadoc.options’


在上传过程中执行了javadoc检查,所以可能会报上面的错误。解决方法就是避免javadoc的检查,在项目根目录下的gradle下面就要添加如下配置:

allprojects {
repositories {
jcenter()
}
tasks.withType(Javadoc) {
options.addStringOption(‘Xdoclint:none’, ‘-quiet’)
options.addStringOption(‘encoding’, ‘UTF-8’)
}
}


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

compile 'com.first:FirstLibrary:1.0.0'
 
 
  • 1

其组成是这样的:

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
    }
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 配置库(项目中的Model—firstlibrary的)gradle,这个地方一定不要配置到项目的gradle下,

这里写图片描述

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 {
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 在终端输入如下命令
    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
  • 上传常见错误

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

(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的值跟你创建的包名字不一样!

第三个坑:Execution failed for task ‘:core:lint’.

Execution failed for task ‘:core:lint’.
> Lint found errors in the project; aborting build.

在上传过程中执行了lint检查,所以可能会报上面的错误。解决方法就是避免lint的检查,在每个module的gradle下面就要添加如下配置:

android {
lintOptions {
abortOnError false
}
}


第四个坑:Execution failed for task ‘:core:mavenAndroidJavadocs’.

Execution failed for task ‘:core:mavenAndroidJavadocs’.
> Javadoc generation failed. Generated Javadoc options file (useful for troubleshooting): ‘/Users/zhou/git/app/core/build/tmp/mavenAndroidJavadocs/javadoc.options’


在上传过程中执行了javadoc检查,所以可能会报上面的错误。解决方法就是避免javadoc的检查,在项目根目录下的gradle下面就要添加如下配置:

allprojects {
repositories {
jcenter()
}
tasks.withType(Javadoc) {
options.addStringOption(‘Xdoclint:none’, ‘-quiet’)
options.addStringOption(‘encoding’, ‘UTF-8’)
}
}


猜你喜欢

转载自blog.csdn.net/wzy901213/article/details/82562295
今日推荐