美文网首页Android Studio
Android开源库发布到jcenter

Android开源库发布到jcenter

作者: jamie92 | 来源:发表于2018-07-11 11:41 被阅读9次

    思路

    这里使用 bintray 官方提供的 bintray 工具上传开源库到 bintray 仓库中,然后再将bintray添加到 jcenter 。
    参考链接:bintray官网 bintray-examples

    1. 使用AS(Android Studio)创建项目

    创建一个app应用,还有一个mylibrary,创建的项目结构如下图所示


    创建的项目结构.png

    2. 申请个人免费的Bintray账号 注册入口

    具体注册自行发挥。由于 bintray 不支持 qq 等一些国内的邮箱格式,所以这里建议使用google的gmail邮箱注册。

    3. 添加Maven Repository

    由于bintray-release工具并不会为我们生成Maven Repository,所以我们需要自行添加Repository


    添加新的Repository.png
    创建Repository.png

    4. 获取bintray的API Key

    编辑个人信息.png
    复制API KEY.png

    5. 配置Build.gradle文件

    • 在 Project 的 build.gradle 文件的 dependencies 标签中,添加下面代码
    dependencies {
        ....
        classpath'com.github.dcendents:android-maven-gradle-plugin:2.0'
        classpath'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.0'
    }
    
    • 在library 的build.gradle 文件中添加下面代码
    apply from: 'publish.gradle'   
    
    • 创建public.gradle文件到library目录下,并复制下面代码到public.gradle文件中
    applyplugin:'maven-publish'
    applyplugin:'com.jfrog.bintray'
    
    version'1.0.0'        //版本号
    group 'com.bintray'    //包组名
    
    publishing{
        publications {
            Production(MavenPublication) {
            artifact("$buildDir/outputs/aar/library-release.aar")
            groupId
            artifactId 'example'
            versionthis.version
    
            pom.withXml {
                def dependenciesNode = asNode().appendNode('dependencies')    
                configurations.implementation.allDependencies.each {
                    if(it.name!='unspecified') {
                        def dependencyNode=dependenciesNode.appendNode('dependency')
                        dependencyNode.appendNode('groupId', it.group)
                        dependencyNode.appendNode('artifactId', it.name)
                        dependencyNode.appendNode('version', it.version)
                         }
                    }
                }
            }
        }
    }
    
    bintray{
        user='BINTRAY_USER'        //BINTRAY_USER  你在Bintray注册的用户名
        key='BINTRAY_API_KEY'    //BINTRAY_API_KEY 你在bintray的API KEY
        publications=['Production']
        configurations=['archives']
        override=true
        pkg {
            repo='maven'
            name='example'
            description="An example of using the bintray plugin with gradle plugin 3.0.0"
            publish=true
            publicDownloadNumbers=true
            licenses=['Apache-2.0']
            vcsUrl='https://github.com/bintray/gradle-bintray-plugin.git'        
            dryRun=false
            version {
                name=this.version
                desc="Example${this.version}"
                released=newDate()
                vcsTag=this.version
                }
            }
    }
    

    6. 通过AS(Android Studio)的命令行工具(Terminal)发布我们的库

    • Windows 系统
      gradlew clean build bintrayUpload
    • Mac系统
      ./gradlew clean build bintrayUpload

    7. 将项目发布到Jcenter

    进入Bintray的项目中

    访问:https://bintray.com/<Birntray用户名>/maven/<项目名称>

    添加项目到JCenter.png

    填写添加项目到 JCenter 申请信息,接着等待工作人员批准申请后,你才能使用Jcenter库访问到你的项目。

    8. 版本升级

    修改步骤2中的版本号,然后使用步骤6中的命令发布项目

    相关文章

      网友评论

        本文标题:Android开源库发布到jcenter

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