jcenter 的一点总结

使用jcenter 的过程中,遇到一点问题,问题以后会不断出现,所以坑也要不停地填
开始使用 app 作为上传的 library,出现如下错误

这里写图片描述

于是新建一个 android library名为“mylibrary”,然后在 mylibrary 添加

apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release'//这是添加的,注意要在com.android.library后面

这里使用的是 bintrary-release,比较方便,github网址如下:
https://github.com/novoda/bintray-release
接着在项目的 build.gradle 中添加

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'
        classpath 'com.novoda:bintray-release:0.3.4'//这是添加的
    }
}

接着很着急的就开始 sync now,上面的错误消失了,但是又出现了一个错误,

Error:Exception thrown while executing model rule: 
org.gradle.api.publish.plugins.PublishingPlugin$Rules#addConfiguredPublicationsToProjectPublicationRegistry
(org.gradle.api.internal.artifacts.ivyservice.projectmodule.ProjectPublicationRegistry, 
org.gradle.api.publish.PublishingExtension, org.gradle.api.internal.project.ProjectIdentifier)

开始马上想到谷歌 stackoverflow,英语菜啊,原来,在 mylibrary 的build.gradle 最下面添加这个

publish{
    userOrg = 'username'
    groupId = 'com.example.z'
    artifactId = 'mylibrary'
    publishVersion = '0.0.1'
    desc = 'this is a Test'
    website = '***'
}

同时记得在 library 的 build.gradle 中,添加下面语句:

android {
    defaultConfig {
    }
    buildTypes {
    }
    lintOptions{
        abortOnError false   //这是添加的
        checkReleaseBuilds false  //这是添加的
    }
}

最终编译通过,接下来在 android Terminal 中输入以下命令

这里写图片描述

然而却报错,后来以为 gradlew 没有安装成功,所以又多此一举地输入以下命令

这里写图片描述

在很多 “…….”,之后,以为可以了,于是又执行上面那句命令,还是报一样的错,发现是路径的问题,
在linux下,一般要加 “./”,在 windows中不用,就是说,当前的路径是当前项目下,如下:

这里写图片描述

也就是去掉了前面的 “$./”,终于开始顺利执行了,后面又报了错,

这里写图片描述

这次很明显了,app 中没有 lint,所以又在 app 的 build.gradle 中添加了 两句话,跟在mylibrary 中添加
的两句话一模一样,然后再次执行,结果最终成功了,贴两张图

这里写图片描述

登录 bintray,good,预期一样,在 https//bintray.com/your username/maven,看到了这个

这里写图片描述

最后 add to jcenter 如果审核通过就可以一句话使用了,如果想重新上传 同一个版本的 需要将 bintray上面的删除掉,否则会报错,说已经存在,除非版本不同,才能接着上传,删掉也很简单,在maven 下,点击edit ,然后delete即可

猜你喜欢

转载自blog.csdn.net/handsonn/article/details/51219450