发布安卓项目到maven中央库

本文档详细介绍了如何将自定义框架发布到Maven中央库的过程,包括所需的GPG签名准备、开源库账户注册步骤,并针对发布过程中可能出现的问题提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为自己写了一些框架,但是有不想以包的形式导入到项目当中,但是又想用自己写的框架,所以,就想到了发布到maven中央库,下面就开始介绍怎么发布了!

准备工作

  1. GPG签名,工具下载地址:https://www.gnupg.org/download/index.html,按照下图1-1中的内容下载相应的平台的安装包即可!
    1-1

  2. 开源库(snapshot或release)账户,注册地址:https://issues.sonatype.org/

开始进入发布流程

遇到的问题

  1. Could not resolve all dependencies for configuration ‘:classpath’与
    Failed to resolve: com.android.support:appcompat-v7:26.1.0
    解决:https://stackoverflow.com/questions/45188703/could-not-find-com-android-tools-build-gradle3-0-0-alpha7
    其实就是把google()替换成 maven { url ‘https://maven.google.com’ }

  2. gpg: conflicting commands maven
    解决:其实就是命令内容不完全,有些事双杠的在使用命令的时候写成了单杠,
    例如:gpg -keyserver hkp://pool.sks-keyservers.net -send-keys F86B173C会报错
    但是:gpg --keyserver hkp://pool.sks-keyservers.net --send-keys F86B173C就没有报错

参考链接:https://my.oschina.net/looly/blog/270767
参考链接:http://www.cnblogs.com/tiantianbyconan/p/4388175.html
参考链接:http://blog.youkuaiyun.com/xxl6097/article/details/50325309/
参考链接:https://github.com/xxl6097/gradle-mvn-push

### 将 Android SDK 发布Maven 中央 #### 准备工作 为了能够顺利发布SDK到Maven中央,需要准备一些前提条件。这包括但不限于拥有一个Sonatype JIRA账号以及熟悉基本的Gradle配置[^1]。 #### 配置 `build.gradle` 文件 在项目的根目录下的 `build.gradle` 文件中应用必要的插件并设置发布任务: ```groovy plugins { id 'java' id 'maven-publish' } group = 'com.example' version = '1.0-SNAPSHOT' repositories { mavenCentral() } ``` 对于具体的模块(如app),也需要做相应的调整,在其自身的 `build.gradle` 文件内添加如下内容来指定要发布的构件及其元数据: ```groovy afterEvaluate { publishing { publications { release(MavenPublication) { from components.release groupId = project.group artifactId = "your-artifact-id" version = project.version pom.withXml { asNode().appendNode('description', 'Your library description') // Add more POM metadata here... } } } repositories { maven { name = "ossrh" url = uri("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/") credentials { username = System.getenv("OSSRH_USERNAME") ?: "" password = System.getenv("OSSRH_PASSWORD") ?: "" } } } } } ``` 上述代码片段展示了如何通过 Gradle 的 `maven-publish` 插件定义发布目标,并指定了 OSS Sonatype (用于托管开源项目)作为远程仓的位置和认证信息[^4]。 #### 创建 GPG 密钥对 由于安全原因,提交给 Maven Central 的包通常需要用GnuPG签名。可以通过命令行工具 gpg 来创建一对密钥,并将其公钥上传至公共服务器以便验证者下载校验。 #### 执行发布操作 完成以上准备工作之后就可以运行以下命令来进行实际发布: ```bash ./gradlew publishToMavenLocal clean build uploadArchives ``` 这条指令会先清理旧构建产物再重新编译整个项目,最后尝试把打包好的文件发送到之前设定好的远端仓上去[^5]。 需要注意的是,首次部署可能会比较慢因为涉及到SSL握手等问题;另外如果遇到权限错误,则可能是因为环境变量中的用户名密码不正确或者是网络连接不稳定造成的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值