Android 发布自己的sdk
创始人
2024-02-05 23:25:43
0

作为一个开发,总是会跟开源组件打交道,现在记下我自己写的开源组件遇到的问题

1.创建一个Android Library

2.修改build.gradle

plugins {id 'com.android.application'
}

里面的id 'com.android.application' 改为  id 'com.android.library'

android {compileSdk 32defaultConfig {// applicationId "com.xjcmpt.fightstreet"}
}

把Library下的build.gradle里面的applicationId注释,还有Androidmanifest文件的


               
 
               


这个要注释掉,不然会有两个启动图标

3.生成aar文件

outputs\aar下面有生成的aar文件

4.注册一个Sonatype JIRA 账号

这里给个链接System Dashboard - Sonatype JIRA

或者看一看其他人的

Android Gradle7.0上传Library到maven仓库_光临天下的博客-CSDN博客_gradle 上传文件




Android手把手,发布开源组件至 MavenCentral仓库_许进进的博客-CSDN博客

这两篇文章帮了我很多,感谢大佬

5.准备gpg签名,链接同上,都能找到

Gpg4win - Get Gpg4win 去下载Gpg4win

我的是这样的

要勾选使用密码句才会生成我们需要的密钥

生成后记得保留后八位数字,后面要用

选择在服务器上发布

不放心的朋友可以去 keys.openpgp.org 查一查,前面转的链接也有图,我就不详细说了

上传成功后选择备份私钥,导出...选项导的是公钥

导出的时候记得看后缀,我们要的是gpg,其他格式不要

6.准备本地的gradle.properties

这里要注意,不是我们项目里面的gradle.properties,是在C:\Users\用户\.gradle文件夹下的gradle.properties,如果没找到可以自己新建一个,在这个gradle.properties里面我们需要填一些资料

# MavenCentral
signing.keyId=私钥后9位
signing.password=创建私钥时填写的密码
signing.secretKeyRingFile=私钥的绝对路劲,记得把\改成\\,不然studio提示你\uxxxx
mavenCentralUsername=Sonatype账号名
mavenCentralPassword=Sonatype账号密码

7.准备maven publish插件

我前面发的两个大佬的链接,到我搞这一步的时候总是失败(要自己写gradle文件,有兴趣的朋友可以试试),那没辙了,换吧

找了一下,有个大佬写了插件,不用我们自己去写gradle文件,照着大佬的教程走就好了,这里我给大家精简一下,直接上图

这个是项目的build.gradle配置

这个是我们要抽取aar的library的 

这个是我直接照搬的settings.gradle里面的内容,就那三个仓库,全部都是https://s01.oss.sonatype.org开头的,我也不知道具体需要哪个还是三个都要,大家看着来吧 

8.准备项目的gradle.properties

除了我们电脑里面的gradle.properties,项目里面的gradle.properties也有东西要配置,这个就是我的配置,大家看着填吧

# 服务器地址  maven center
SONATYPE_HOST=S01# 发布 release 组件时是否签名
RELEASE_SIGNING_ENABLED=trueVERSION_NAME = 0.0.5
POM_ARTIFACT_ID = FactorsSDK
POM_NAME = TestModSDK
POM_DESCRIPTION = 描述
POM_PACKAGING = aar
GROUP=创建账号时的groupid
POM_INCEPTION_YEAR=2022
# 主页
POM_URL=https://github.com
# Licenses 信息
POM_LICENSE_NAME=The Apache Software License, Version 2.0
POM_LICENSE_URL=https://www.apache.org/licenses/LICENSE-2.0.txt
POM_LICENSE_DIST=repo
# 版本控制信息
POM_SCM_URL=https://github.com/
POM_SCM_CONNECTION=scm:git:git://github.com/.git
POM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/.git
# 开发者信息
POM_DEVELOPER_ID=nameid
POM_DEVELOPER_NAME=name
POM_DEVELOPER_URL=https://github.com/

9.准备上传到仓库

准备工作做好以后我们就该上传代码了,这边建议大家先在本地上查看一下pom文件

这个生成一个pom文件 

这个文件可以查看我们自己的配置全不全,不过有填漏的记得补上,不然等你提交的时候各种报漏不给过,浪费你时间,附带一提,如果pom文件里面没有你在项目的gradle.properties填的信息,可以在本地的gradle.properties里面填,格式是一样的,我搞这个的时候我的描述就是非要卸载本地的gradle.properties才能写进pom文件

10.上传

还是这里上传 ,对照下面来决定你要用哪个吧

generateMetadataFileFoxxxPublication:生成组件配置数据,会在 build/publications/$xxx/里面,一般比较少用。
generatePomFileForxxxPublication:生成pom文件,在build/publications/$xxx/里面,一般比较少用。
publish:遍历所有发布器,发布到所有的仓库,不包括本地仓库。
publishAllPublicationsToxxxRepository:遍历所有发布器,发布到对应的仓库,这里是发布到release仓库里面。
publishxxxPublicationToMavenLocal:将xxx发布器,发布到本地仓库,这里的发布器的mavenJava/release
publishxxxPublicationToxxxRepository:将xxx发布器,发布到xxx仓库,这里的发布器的mavenJava/release,仓库是relase仓库
publishToMavenLocal:遍历所有发布器,发布到本地仓库。

11.检查上传效果

跳转链接Nexus Repository Manager,点击右上角的log in,填上之前申请的 Sonatype账号和密码

然后选择

后面因为我项目上传成功了,刷新后就没内容,没法截图了

在现在empty selection的地方会出现三个选项卡

summary,activity和content,其他先不谈,content就是你上传的东西,确认没有问题后就可以点击close后写描述,接着上传

等待几分钟后在activity选项卡那里你可以看到结果,如果前面的准备没有缺漏,那么你就可以直接点上面的release,把内容传到Maven Central 仓库了

当上传成功的时候,Sonatype会发一条信息给你,注意看你申请Sonatype账号时填的邮箱,但更新到https://search.maven.org可能需要长达几个小时。

跳转链接 Maven Central Repository Search  可以查看

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...