快速将Android项目发布的JCenter

作者: 恋猫月亮 | 来源:发表于2016-11-14 13:17 被阅读609次

    发布到jcenter路过各种坑,尝试了各个大神的文章一直跑步起来,这里综合一下

    demo https://github.com/CarGuo/PublishToJcenter

    主要是针对新版本的bintray,发布Android的lib发布Jcenter,需要的Gradle脚本及属性文件.

    bintray.gradle: 用于发布到JCenter的脚本。

    build.gradle: project下的脚本

    gradle.properties: 在bintray.gradle对应的属性,新版本增加了组织的概念

    lib/build.gradle: 针对需要发布的model,其中切记

    apply from: '../bintray.gradle'一定要写在最后面

    1. 注册保存bintray

    bintray的地址:https://bintray.com/,注册时候qq邮箱和163邮箱注册不了,微软的live邮箱和新浪邮箱可以注册。

    网上大多数文章都说进入后会有一个API Key,但是我在edit profile一直没找到,直达后来创建了maven之后才发现。

    记住账号名以及API Key是bintray上传必须的。

    目前我是放在了项目的gradle.properties下,需要的时候就填写了发布,各位如果有更好的办法可以提供下

    BINTRAY_USER=bintray account name

    BINTRAY_KEY=bintray API Key

    2. project目录下的build.gradle文件,对应build.gradle

    主要添加这个依赖

    buildscript {

    repositories {

    jcenter()

    }

    dependencies {

    classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'

    classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'

    }

    }

    3. 在lib的这个build.gradle的底部添加以下代码:

    (一定要在底部,對應build.gradle主要添加这个依赖) apply from: './bintray.gradle'

    4.根目录下的gradle.properties

    接下来对内容进行配置,下面是一个例子:

    参照图片

    BINTRAY_USER= 你在bintray上的账号名

    BINTRAY_KEY=  你在bintray上的API KEY

    PROJ_USER_ORG=你在bintray上的组织名字

    PROJ_USER_MAVEN=你在bintray上的repo名字

    PROJ_NAME=你在bintray上的repo名字下的包名

    PROJ_GROUP= 这是上的groupId,自己配置

    PROJ_VERSION=这是上面的version,自己配置

    PROJ_ARTIFACTID=上面的artifactId

    PROJ_WEBSITEURL=github上的url就好了,可以不填

    PROJ_ISSUETRACKERURL=可以不填

    PROJ_VCSURL=github上的ssh就好了,可以不填

    PROJ_DESCRIPTION=描述,可以不填

    DEVELOPER_ID=发布人id,自己填

    DEVELOPER_NAME=发布人名字,自己填

    DEVELOPER_EMAIL=发布人邮箱,自己填

    上面的例子最终在Android Studio中的引用形式为:

    dependencies {

    compile 'com.shuyu:bbb:1.0.0'

    }

    它的格式是PROJ_GROUP:PROJ_ARTIFACTID:PROJ_VERSION组成。

    4. 执行发布命令

    执行gradlew bintrayUpload将库发布到 bintray.com.

    gradlew bintrayUpload

    5. 将库加入Jcenter

    最后一步,需要登录bintray.com,将我们刚刚发布的库申请加入到jcenter,这样别人才能直接引用到。

    6、 备注与问题

    bintray上的创建:

    这里可以找到你的api key

    你需要先创建repo,不然会出现404找不到package,其中name可以根据你的喜欢来填写,后面对应配置到上面gradle.properties的的PROJ_USER_MAVEN

    你还需要再改repo下创建包,不然会出现404找不到package,主要添加name,后面对应配置到上面gradle.properties的PROJ_NAME

    新版本有组织的概念,这个就是组织id,后面对应配置到上面gradle.properties的PROJ_USER_ORG

    一般出现401,400,404的基本都是没有创建好repo和package,还有就是groupId不对,最后就是username和apikey正确就好了

    demo:https://github.com/CarGuo/PublishToJcenter

    参考自:

    http://www.jianshu.com/p/e2cc4f66b1e7

    https://github.com/msdx/gradle-publish

    相关文章

      网友评论

      • 恋猫月亮:发现一个问题,刚刚发布带有support.design的和recycer的项目是时候一直提示找不到,后来通过修改javadoc的task为:
        source = android.sourceSets.main.java.srcDirs
        classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
        failOnError false
        就成功了
      • 恋猫月亮:刚发现,注释的文本里面有@之类的特殊发号会发布不成功

      本文标题:快速将Android项目发布的JCenter

      本文链接:https://www.haomeiwen.com/subject/gijhpttx.html