使用Bintray发布library到JCenter中心

家住魔仙堡 提交于 2020-01-21 09:34:57

使用Bintray发布library到JCenter中心

1、注册Bintray

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

在这里插入图片描述

注意

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

在这里插入图片描述

注意

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

2、创建 maven 仓库

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

在这里插入图片描述

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

在这里插入图片描述

7、提交到 Jcenter

  在项目详情页面,点击**“Add to Jcenter”**
在这里插入图片描述

  提交成功后,等待审核。审核后会有邮件通知到注册的邮箱。
在这里插入图片描述

8、问题总结

注册 bintray 容易注册成团队账户而导致
HTTP/1.1 404 Not Found [message:Repo ‘maven’ was not found]
在这里插入图片描述

9、源码

  https://github.com/ProgressiveDevelop/PermissionKit

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!