基于腾讯CODING Maven的Android库发布

CODING中 允许发布 Maven制品,也就是上传私有的 Maven 仓库。

和基本Maven配置步骤类似:

  1. 创建仓库:选择项目,创建 Maven 制品仓库
  2. 添加凭证:选择项目,开发者选项 -> 项目令牌 -> 新建项目令牌
    (用于配置Maven发布的用户名、密码)
  3. 配置 Android 项目 build.gradle 发布脚本
1. 创建 Maven 制品仓库

创建成功后,得到 Maven制品库的 URL地址

2. 创建项目令牌

创建项目令牌,复制 用户名密码 用于 Maven 发布的仓库 凭证

3. 使用 maven-publish 插件,配置 build.gradle 发布
  1. Android 使用 AGP 8.0+ 后,先配置库模块build.gradle
gradle 复制代码
android {
    publishing {
        singleVariant('release') {
            // 配置生成 源码Jar 发布
            withSourcesJar()
            // 配置生成 文档Jar 发布
            withJavadocJar()
        }
    }
}
  1. build.gradle 配置 publishing { } 发布信息:
gradle 复制代码
// 配置 库 信息
group = "com.example.lib"
version = "1.0.0"
description = "Log Library"

publishing {
    publications {
        release(MavenPublication) {

            pom {
                name = project.name
                description = project.description
                url = 'https://github.com/classops/LibDemo'

                licenses {
                    license {
                        name = 'The Apache License, Version 2.0'
                        url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    }
                }

                // 配置库的开发者 用户名和邮箱
                developers {
                    developer {
                        id = 'classops'
                        name = 'classops'
                        email = 'classops@163.com'
                    }
                }

                // scm 配置版本控制仓库
                scm {
                    connection = 'https://github.com/classops/LibDemo.git'
                    developerConnection = 'https://github.com/classops/LibDemo.git'
                    url = 'https://github.com/classops/LibDemo'
                }
            }

            afterEvaluate {
                from components.release
            }
        }
    }

    repositories {
        maven {
            // 这里就是 第一步 Maven库 地址URL
            url "https://g-jksu3036-maven.pkg.coding.net/repository/demo/private/"
            credentials {
                username project.codingUsername
                password project.codingPassword
            }
        }
    }

}

说明:codingUsernamecodingPassword 就是 第2步 对应 用户名密码

为了安全,可配置在 Gradle 目录全局 gradle.properties 下配置密码:

properties 复制代码
codingUsername=xxx
codingPassword=xxxx
  1. 上传发布到Maven仓库

执行命令:

复制代码
// 发布所有模块
./gradlew publish

// 发布指定lib模块
./gradlew :lib:publish

// 发布到 本地 mavenLocal()
./gradlew publishToMavenLocal

模板工程

参考 LibDemo

shell 复制代码
# 发布所有模块
./gradlew publish

# 发布指定模块
./gradlew :lib:publish

配置:

lib 模块下 build.gradlepublishing 中,修改 pom 配置 和 仓库 配置 和 仓库 和 group version description 库信息。

文档

相关推荐
静谧空间12 分钟前
java登录验证码CaptchaConfig
java·开发语言
Imxyk16 分钟前
力扣:632. 最小区间(贪心)
java·数据结构·算法
符哥200817 分钟前
Android 权限分类说明
android
驱动探索者18 分钟前
linux genpool 学习
java·linux·学习
露天赏雪19 分钟前
JDK8 的入门避坑指南
java·服务器·windows·spring boot·后端·spring·性能优化
jiaguangqingpanda21 分钟前
Day37-20260205
java·开发语言
手握风云-22 分钟前
JavaEE 进阶第十六期:MyBatis,查询请求的生命周期全景图(一)
java·java-ee·mybatis
大模型玩家七七26 分钟前
安全对齐不是消灭风险,而是重新分配风险
android·java·数据库·人工智能·深度学习·安全
wxin_VXbishe26 分钟前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·spring boot·python·spring·django·php
李少兄26 分钟前
MySQL 中为时间字段设置默认当前时间
android·数据库·mysql