美文网首页
使用Bintray发布library到JCenter中心

使用Bintray发布library到JCenter中心

作者: WebProgress | 来源:发表于2019-12-31 13:39 被阅读0次

    使用Bintray发布library到JCenter中心

    1、注册Bintray

      注册网址:https://bintray.com,请自行科学上网。

    1.png

    注意

      个人注册,一定点击“For Open Source Account Sing Up Here”,不能点击绿色按钮,否则
    后期编译会报错“HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]”

    2.png

    注意

      关于Email Address,请使用Google邮箱或者使用腾讯的Fox Email邮箱,不要使用QQ邮箱等。

    2、创建 maven 仓库

      注册成功后,点击“ Add New Repository ”,创建仓库(注意名称和类型的填写)。

    4.png

    3、创建 library 项目

      演示实例Android 6.0权限工具库: PermissionKit

    4、提交项目到 github

      请自行配置提交。

      本实例地址:https://github.com/ProgressiveDevelop/PermissionKit

    5、配置 bintray.gradle 脚本

      首先,需要在项目根build.gradle文件中配置bintray插件

     dependencies {
            classpath 'com.android.tools.build:gradle:3.5.3'
            //bintray plugin
            classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
            classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4"
        }
    

      然后,在library项目中创建gradle脚本文件:bintray.bradle

    apply plugin: 'com.jfrog.bintray'
    apply plugin: 'com.github.dcendents.android-maven'
    //源码站点链接
    def siteUrl = 'https://github.com/ProgressiveDevelop/PermissionKit'
    //git 链接
    def gitUrl = 'https://github.com/ProgressiveDevelop/PermissionKit.git'
    //实例compile 'com.android.kit:permissionkit:1.0.0' :group+name+version
    //仓库组
    group = 'com.android.kit'
    //版本
    version = '1.0.0'
    install {
        repositories.mavenInstaller {
            pom {
                project {
                    packaging 'aar'
                    name 'permissionkit'
                    url siteUrl
                    licenses {
                        license {
                            name 'The Apache Software License, Version 2.0'
                            url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                        }
                    }
                    scm {
                        connection gitUrl
                        developerConnection gitUrl
                        url siteUrl
                    }
                }
            }
        }
    }
    //编译 Javadoc
    task androidJavadocs(type: Javadoc) {
        source = android.sourceSets.main.java.srcDirs
        classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
    }
    //编译 xxx-javadoc.jar
    task androidJavadocsJar(type: Jar) {
        classifier = 'javadoc'
        from androidJavadocs.destinationDir
    }
    //编译 xxx-sources.jar
    task androidSourcesJar(type: Jar) {
        classifier = 'sources'
        from android.sourceSets.main.java.srcDirs
    }
    artifacts {
        archives androidSourcesJar
        archives androidJavadocsJar
    }
    //读取配置的账户与apiKey
    Properties properties = new Properties()
    properties.load(project.rootProject.file('local.properties').newDataInputStream())
    
    bintray {
        user = properties.getProperty("bintray.user")
        key = properties.getProperty("bintray.apikey")
        configurations = ['archives']
        pkg {
            version {
                name = '1.0.0'
                desc = 'Android 6.0 权限管理工具库,基于Androidx,非注解方式'
            }
            //repository 名称
            repo = 'maven'
            name = 'permissionkit'
            licenses = ['Apache-2.0']
            vcsUrl = gitUrl
            publish = true
        }
    }
    

      最后,在library项目的build.gradle文件后面引入bintray.gradle配置

    //引入配置
    apply from: './bintray.gradle'
    

    6、编译

      首先,执行安装命令

    gradlew install

      然后,执行上传命令

    gradlew bintrayUpload

    3.png

    7、提交到 Jcenter

      在项目详情页面,点击“Add to Jcenter”

    5.png

      提交成功后,等待审核。审核后会有邮件通知到注册的邮箱。


    6.png

    8、问题总结

    注册 bintray 容易注册成团队账户而导致
    HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]

    9、源码

      https://github.com/ProgressiveDevelop/PermissionKit

    相关文章

      网友评论

          本文标题:使用Bintray发布library到JCenter中心

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