区块链技术博客
www.b2bchain.cn

Android库发布到Maven Central全攻略求职学习资料

本文介绍了Android库发布到Maven Central全攻略求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

Android库发布到Maven Central全攻略

前言

最近听说jCenter要关闭,搞的人心惶惶,寻思着迁移到别的库吧半天找不到一个靠谱点的,最终找到了与jCenter齐名的Maven Central,但Maven Central的申请和配置是要比jForg那边的bintray麻烦得多的,如何注册上传库到Maven Central就变得非常困难了,网上找了一圈基本都是Java库的上传攻略,无奈只能到Google上找资料+看官方文档总算在今天下午搞定了上传包的全过程,本文将详细描述Android库发布到Maven Central全攻略。本文发表在大话安卓小专栏,禁止一切未授权的转载行为。

第一步·注册

与jCenter是由jForg运营,在bintray.com做管理一样,Maven Central是由sonatype运营的,那么首先需要去注册一个sonatype的账号并获得仓库使用许可。

你需要先前往https://issues.sonatype.org注册账号,界面如图,点击红框部分:

Android库发布到Maven Central全攻略

注册需要填写邮箱(重要,请填写真实的邮箱)、名字、用户名(重要,用于登录)、密码(需要含符号、英文和数字的复杂密码),和验证码完成注册。

小提示,sonatype.org实际上是支持中文的,登录后会提示你切换语言,非常友好。

Android库发布到Maven Central全攻略

名称直接填写项目名就行,重点是Group ID,这里如果你没有自己的网站域名,那么一般建议按照Github填写,例如你的Github为github.com/kongzue,那么这里可以写成com.github.kongzue,如果有你自己的域名,则可以按照你的域名翻转作为你的主地址,另外注意,这个申请实际上只需要申请一次,那么Group Id建议直接设置成主包名,不需要具体到项目,例如我的项目都是com.kongzue开头的,那么这里不要具体到com.kongzue.dialogv3,因为申请后你的所有项目都可以放到com.kongzue开头的maven仓库下。

额外需要注意的是,如果使用自己的域名,需要按照官方的要求,在DNS配置配置一个TXT记录指向你的Github地址来完成验证,这个比较麻烦,具体参考:https://central.sonatype.org/pages/producers.html

申请后请耐心等待官方的回复,待issues状态变为已解决,那么就说明申请成功了,如果有任何不成功的,官方会在下方给出注释,你也可以通过注释回复官方,完成申请。

Android库发布到Maven Central全攻略

第二步·Gradle准备

接下来需要进入你的项目,完成一系列的配置,请先参考下载下边的gradle文件放置在项目的根目录,请注意文中中文部分请按照需要自行修改:

文件:publish-mavencentral.gradle

apply plugin: 'maven-publish' apply plugin: 'signing'  task androidSourcesJar(type: Jar) {     classifier = 'sources'     from android.sourceSets.main.java.source }  ext["signing.keyId"] = '' ext["signing.password"] = '' ext["signing.secretKeyRingFile"] = '' ext["ossrhUsername"] = '' ext["ossrhPassword"] = ''  File secretPropsFile = project.rootProject.file('local.properties') if (secretPropsFile.exists()) {     println "Found secret props file, loading props"     Properties p = new Properties()     p.load(new FileInputStream(secretPropsFile))     p.each { name, value ->         ext[name] = value     } } else {     println "No props file, loading env vars" } publishing {     publications {         release(MavenPublication) {             // The coordinates of the library, being set from variables that             // we'll set up in a moment             groupId PUBLISH_GROUP_ID             artifactId PUBLISH_ARTIFACT_ID             version PUBLISH_VERSION              // Two artifacts, the `aar` and the sources             artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")             artifact androidSourcesJar              // Self-explanatory metadata for the most part             pom {                 name = PUBLISH_ARTIFACT_ID                 description = '你的项目描述'                 // If your project has a dedicated site, use its URL here                 url = 'Github地址'                 licenses {                     license {                         //协议类型,一般默认Apache License2.0的话不用改:                         name = 'The Apache License, Version 2.0'                         url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'                     }                 }                 developers {                     developer {                         id = '用户ID'                         name = '用户名'                         email = '邮箱'                     }                 }                 // Version control info, if you're using GitHub, follow the format as seen here                 scm {                     //修改成你的Git地址:                     connection = 'scm:git:github.com/xxx/xxxx.git'                     developerConnection = 'scm:git:ssh://github.com/xxx/xxxx.git'                     //分支地址:                     url = 'https://github.com/xxx/xxxx/tree/master'                 }                 // A slightly hacky fix so that your POM will include any transitive dependencies                 // that your library builds upon                 withXml {                     def dependenciesNode = asNode().appendNode('dependencies')                      project.configurations.implementation.allDependencies.each {                         def dependencyNode = dependenciesNode.appendNode('dependency')                         dependencyNode.appendNode('groupId', it.group)                         dependencyNode.appendNode('artifactId', it.name)                         dependencyNode.appendNode('version', it.version)                     }                 }             }         }     }     repositories {         // The repository to publish to, Sonatype/MavenCentral         maven {             // This is an arbitrary name, you may also use "mavencentral" or             // any other name that's descriptive for you             name = "项目名称"              def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/"             def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots/"             // You only need this if you want to publish snapshots, otherwise just set the URL             // to the release repo directly             url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl              // The username and password we've fetched earlier             credentials {                 username ossrhUsername                 password ossrhPassword             }         }     } } signing {     sign publishing.publications }

完成后进入你的local.properties文件,添加如下:

signing.keyId=XXXXXXXX signing.password=密码 signing.secretKeyRingFile=D:/key/你的GPG签名秘钥文件.gpg ossrhUsername=sonatype帐号 ossrhPassword=sonatype密码

第三步·签名秘钥申请

这里需要一个GPG秘钥,需要下载GPG管理器客户端完成申请:

https://www.gpg4win.org/get-gpg4win.html

此软件是支持中文的,请放心使用,如下图,点击不捐助,点击下载安装即可。

Android库发布到Maven Central全攻略

安装完成后,点击主界面菜单,新建秘钥

Android库发布到Maven Central全攻略

点击第一个选项,创建个人秘钥:

Android库发布到Maven Central全攻略

接下来输入你的账号、邮箱以及勾选Protect the generated key with a passphrase.
(使用密码保护生成的密钥)在高级设置里可以设置更详细的,例如过期时间,但过期时间不可以太长,或报错。

Android库发布到Maven Central全攻略

下一步,设置密码,完成,在完成界面先不用急着上传或备份,直接点击完成。

在主界面双击你创建的秘钥,可以看到以下界面

Android库发布到Maven Central全攻略

请记住下边红框圈住的8位字母,复制下来,一会要用。点击生成吊销证书按钮,保存下来你的吊销证书,然后回到主界面点击右键,在服务器发布:

Android库发布到Maven Central全攻略

接下来再次右键,点击导出,重命名导出文件后缀,导出为gpg格式的文件。

回到Android Studio,到local.properties文件中,编辑刚刚的文件:

signing.keyId=02C4AC4B signing.password=你的秘钥密码 signing.secretKeyRingFile=D:/key/你的GPG签名秘钥文件.gpg ossrhUsername=sonatype帐号 ossrhPassword=sonatype密码

完成编辑。

第四步·上传

先进入你的Module的build.gradle,添加以下代码:

ext {     PUBLISH_GROUP_ID = "com.xxx.xxxx"       //项目包名     PUBLISH_ARTIFACT_ID = 'xxxx'            //项目名     PUBLISH_VERSION = 0.0.1                 //版本号 } apply from: "${rootProject.projectDir}/publish-mavencentral.gradle"

Sync后,先通过Gradle编译release版本,双击Module名称/Tasks/build/assemble:

Android库发布到Maven Central全攻略

完成后,上传到Maven Central,双击Module名称/Tasks/publishing/publicReleasePublicationToXXXRepository

Android库发布到Maven Central全攻略

执行完毕后,进入https://oss.sonatype.org/ ,使用你的sonatype帐号和密码登录。

进入左侧的Staging Repositories

Android库发布到Maven Central全攻略

在右上角搜索你的名字,应该能找到你上传的库文件,点击下方的Content可以查看详细已上传的文件:

Android库发布到Maven Central全攻略

确认无误后,点击Close关闭,输入介绍后点击Confirm完成所有操作。

Android库发布到Maven Central全攻略

接下来,需要等待5-10分钟,待Activity选项卡中出现对号的“Repository closed”即完成准备,然后点击Release按钮发布到MavenCentral,等待几个小时后可以在 https://search.maven.org/ 查询发布结果。

结束

以上就是Android库发布到Maven Central全攻略了,本文发表在大话安卓小专栏,禁止一切未授权的转载行为。如有疑问也欢迎加群271127803进行讨论。

Android库发布到Maven Central全攻略

前言

最近听说jCenter要关闭,搞的人心惶惶,寻思着迁移到别的库吧半天找不到一个靠谱点的,最终找到了与jCenter齐名的Maven Central,但Maven Central的申请和配置是要比jForg那边的bintray麻烦得多的,如何注册上传库到Maven Central就变得非常困难了,网上找了一圈基本都是Java库的上传攻略,无奈只能到Google上找资料+看官方文档总算在今天下午搞定了上传包的全过程,本文将详细描述Android库发布到Maven Central全攻略。本文发表在大话安卓小专栏,禁止一切未授权的转载行为。

第一步·注册

与jCenter是由jForg运营,在bintray.com做管理一样,Maven Central是由sonatype运营的,那么首先需要去注册一个sonatype的账号并获得仓库使用许可。

你需要先前往https://issues.sonatype.org注册账号,界面如图,点击红框部分:

Android库发布到Maven Central全攻略

注册需要填写邮箱(重要,请填写真实的邮箱)、名字、用户名(重要,用于登录)、密码(需要含符号、英文和数字的复杂密码),和验证码完成注册。

小提示,sonatype.org实际上是支持中文的,登录后会提示你切换语言,非常友好。

Android库发布到Maven Central全攻略

名称直接填写项目名就行,重点是Group ID,这里如果你没有自己的网站域名,那么一般建议按照Github填写,例如你的Github为github.com/kongzue,那么这里可以写成com.github.kongzue,如果有你自己的域名,则可以按照你的域名翻转作为你的主地址,另外注意,这个申请实际上只需要申请一次,那么Group Id建议直接设置成主包名,不需要具体到项目,例如我的项目都是com.kongzue开头的,那么这里不要具体到com.kongzue.dialogv3,因为申请后你的所有项目都可以放到com.kongzue开头的maven仓库下。

额外需要注意的是,如果使用自己的域名,需要按照官方的要求,在DNS配置配置一个TXT记录指向你的Github地址来完成验证,这个比较麻烦,具体参考:https://central.sonatype.org/pages/producers.html

申请后请耐心等待官方的回复,待issues状态变为已解决,那么就说明申请成功了,如果有任何不成功的,官方会在下方给出注释,你也可以通过注释回复官方,完成申请。

Android库发布到Maven Central全攻略

第二步·Gradle准备

接下来需要进入你的项目,完成一系列的配置,请先参考下载下边的gradle文件放置在项目的根目录,请注意文中中文部分请按照需要自行修改:

文件:publish-mavencentral.gradle

apply plugin: 'maven-publish' apply plugin: 'signing'  task androidSourcesJar(type: Jar) {     classifier = 'sources'     from android.sourceSets.main.java.source }  ext["signing.keyId"] = '' ext["signing.password"] = '' ext["signing.secretKeyRingFile"] = '' ext["ossrhUsername"] = '' ext["ossrhPassword"] = ''  File secretPropsFile = project.rootProject.file('local.properties') if (secretPropsFile.exists()) {     println "Found secret props file, loading props"     Properties p = new Properties()     p.load(new FileInputStream(secretPropsFile))     p.each { name, value ->         ext[name] = value     } } else {     println "No props file, loading env vars" } publishing {     publications {         release(MavenPublication) {             // The coordinates of the library, being set from variables that             // we'll set up in a moment             groupId PUBLISH_GROUP_ID             artifactId PUBLISH_ARTIFACT_ID             version PUBLISH_VERSION              // Two artifacts, the `aar` and the sources             artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")             artifact androidSourcesJar              // Self-explanatory metadata for the most part             pom {                 name = PUBLISH_ARTIFACT_ID                 description = '你的项目描述'                 // If your project has a dedicated site, use its URL here                 url = 'Github地址'                 licenses {                     license {                         //协议类型,一般默认Apache License2.0的话不用改:                         name = 'The Apache License, Version 2.0'                         url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'                     }                 }                 developers {                     developer {                         id = '用户ID'                         name = '用户名'                         email = '邮箱'                     }                 }                 // Version control info, if you're using GitHub, follow the format as seen here                 scm {                     //修改成你的Git地址:                     connection = 'scm:git:github.com/xxx/xxxx.git'                     developerConnection = 'scm:git:ssh://github.com/xxx/xxxx.git'                     //分支地址:                     url = 'https://github.com/xxx/xxxx/tree/master'                 }                 // A slightly hacky fix so that your POM will include any transitive dependencies                 // that your library builds upon                 withXml {                     def dependenciesNode = asNode().appendNode('dependencies')                      project.configurations.implementation.allDependencies.each {                         def dependencyNode = dependenciesNode.appendNode('dependency')                         dependencyNode.appendNode('groupId', it.group)                         dependencyNode.appendNode('artifactId', it.name)                         dependencyNode.appendNode('version', it.version)                     }                 }             }         }     }     repositories {         // The repository to publish to, Sonatype/MavenCentral         maven {             // This is an arbitrary name, you may also use "mavencentral" or             // any other name that's descriptive for you             name = "项目名称"              def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/"             def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots/"             // You only need this if you want to publish snapshots, otherwise just set the URL             // to the release repo directly             url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl              // The username and password we've fetched earlier             credentials {                 username ossrhUsername                 password ossrhPassword             }         }     } } signing {     sign publishing.publications }

完成后进入你的local.properties文件,添加如下:

signing.keyId=XXXXXXXX signing.password=密码 signing.secretKeyRingFile=D:/key/你的GPG签名秘钥文件.gpg ossrhUsername=sonatype帐号 ossrhPassword=sonatype密码

第三步·签名秘钥申请

这里需要一个GPG秘钥,需要下载GPG管理器客户端完成申请:

https://www.gpg4win.org/get-gpg4win.html

此软件是支持中文的,请放心使用,如下图,点击不捐助,点击下载安装即可。

Android库发布到Maven Central全攻略

安装完成后,点击主界面菜单,新建秘钥

Android库发布到Maven Central全攻略

点击第一个选项,创建个人秘钥:

Android库发布到Maven Central全攻略

接下来输入你的账号、邮箱以及勾选Protect the generated key with a passphrase.
(使用密码保护生成的密钥)在高级设置里可以设置更详细的,例如过期时间,但过期时间不可以太长,或报错。

Android库发布到Maven Central全攻略

下一步,设置密码,完成,在完成界面先不用急着上传或备份,直接点击完成。

在主界面双击你创建的秘钥,可以看到以下界面

Android库发布到Maven Central全攻略

请记住下边红框圈住的8位字母,复制下来,一会要用。点击生成吊销证书按钮,保存下来你的吊销证书,然后回到主界面点击右键,在服务器发布:

Android库发布到Maven Central全攻略

接下来再次右键,点击导出,重命名导出文件后缀,导出为gpg格式的文件。

回到Android Studio,到local.properties文件中,编辑刚刚的文件:

signing.keyId=02C4AC4B signing.password=你的秘钥密码 signing.secretKeyRingFile=D:/key/你的GPG签名秘钥文件.gpg ossrhUsername=sonatype帐号 ossrhPassword=sonatype密码

完成编辑。

第四步·上传

先进入你的Module的build.gradle,添加以下代码:

ext {     PUBLISH_GROUP_ID = "com.xxx.xxxx"       //项目包名     PUBLISH_ARTIFACT_ID = 'xxxx'            //项目名     PUBLISH_VERSION = 0.0.1                 //版本号 } apply from: "${rootProject.projectDir}/publish-mavencentral.gradle"

Sync后,先通过Gradle编译release版本,双击Module名称/Tasks/build/assemble:

Android库发布到Maven Central全攻略

完成后,上传到Maven Central,双击Module名称/Tasks/publishing/publicReleasePublicationToXXXRepository

Android库发布到Maven Central全攻略

执行完毕后,进入https://oss.sonatype.org/ ,使用你的sonatype帐号和密码登录。

进入左侧的Staging Repositories

Android库发布到Maven Central全攻略

在右上角搜索你的名字,应该能找到你上传的库文件,点击下方的Content可以查看详细已上传的文件:

Android库发布到Maven Central全攻略

确认无误后,点击Close关闭,输入介绍后点击Confirm完成所有操作。

Android库发布到Maven Central全攻略

接下来,需要等待5-10分钟,待Activity选项卡中出现对号的“Repository closed”即完成准备,然后点击Release按钮发布到MavenCentral,等待几个小时后可以在 https://search.maven.org/ 查询发布结果。

结束

以上就是Android库发布到Maven Central全攻略了,本文发表在大话安卓小专栏,禁止一切未授权的转载行为。如有疑问也欢迎加群271127803进行讨论。

Android库发布到Maven Central全攻略

前言

最近听说jCenter要关闭,搞的人心惶惶,寻思着迁移到别的库吧半天找不到一个靠谱点的,最终找到了与jCenter齐名的Maven Central,但Maven Central的申请和配置是要比jForg那边的bintray麻烦得多的,如何注册上传库到Maven Central就变得非常困难了,网上找了一圈基本都是Java库的上传攻略,无奈只能到Google上找资料+看官方文档总算在今天下午搞定了上传包的全过程,本文将详细描述Android库发布到Maven Central全攻略。本文发表在大话安卓小专栏,禁止一切未授权的转载行为。

第一步·注册

与jCenter是由jForg运营,在bintray.com做管理一样,Maven Central是由sonatype运营的,那么首先需要去注册一个sonatype的账号并获得仓库使用许可。

你需要先前往https://issues.sonatype.org注册账号,界面如图,点击红框部分:

Android库发布到Maven Central全攻略

注册需要填写邮箱(重要,请填写真实的邮箱)、名字、用户名(重要,用于登录)、密码(需要含符号、英文和数字的复杂密码),和验证码完成注册。

小提示,sonatype.org实际上是支持中文的,登录后会提示你切换语言,非常友好。

Android库发布到Maven Central全攻略

名称直接填写项目名就行,重点是Group ID,这里如果你没有自己的网站域名,那么一般建议按照Github填写,例如你的Github为github.com/kongzue,那么这里可以写成com.github.kongzue,如果有你自己的域名,则可以按照你的域名翻转作为你的主地址,另外注意,这个申请实际上只需要申请一次,那么Group Id建议直接设置成主包名,不需要具体到项目,例如我的项目都是com.kongzue开头的,那么这里不要具体到com.kongzue.dialogv3,因为申请后你的所有项目都可以放到com.kongzue开头的maven仓库下。

额外需要注意的是,如果使用自己的域名,需要按照官方的要求,在DNS配置配置一个TXT记录指向你的Github地址来完成验证,这个比较麻烦,具体参考:https://central.sonatype.org/pages/producers.html

申请后请耐心等待官方的回复,待issues状态变为已解决,那么就说明申请成功了,如果有任何不成功的,官方会在下方给出注释,你也可以通过注释回复官方,完成申请。

Android库发布到Maven Central全攻略

第二步·Gradle准备

接下来需要进入你的项目,完成一系列的配置,请先参考下载下边的gradle文件放置在项目的根目录,请注意文中中文部分请按照需要自行修改:

文件:publish-mavencentral.gradle

apply plugin: 'maven-publish' apply plugin: 'signing'  task androidSourcesJar(type: Jar) {     classifier = 'sources'     from android.sourceSets.main.java.source }  ext["signing.keyId"] = '' ext["signing.password"] = '' ext["signing.secretKeyRingFile"] = '' ext["ossrhUsername"] = '' ext["ossrhPassword"] = ''  File secretPropsFile = project.rootProject.file('local.properties') if (secretPropsFile.exists()) {     println "Found secret props file, loading props"     Properties p = new Properties()     p.load(new FileInputStream(secretPropsFile))     p.each { name, value ->         ext[name] = value     } } else {     println "No props file, loading env vars" } publishing {     publications {         release(MavenPublication) {             // The coordinates of the library, being set from variables that             // we'll set up in a moment             groupId PUBLISH_GROUP_ID             artifactId PUBLISH_ARTIFACT_ID             version PUBLISH_VERSION              // Two artifacts, the `aar` and the sources             artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")             artifact androidSourcesJar              // Self-explanatory metadata for the most part             pom {                 name = PUBLISH_ARTIFACT_ID                 description = '你的项目描述'                 // If your project has a dedicated site, use its URL here                 url = 'Github地址'                 licenses {                     license {                         //协议类型,一般默认Apache License2.0的话不用改:                         name = 'The Apache License, Version 2.0'                         url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'                     }                 }                 developers {                     developer {                         id = '用户ID'                         name = '用户名'                         email = '邮箱'                     }                 }                 // Version control info, if you're using GitHub, follow the format as seen here                 scm {                     //修改成你的Git地址:                     connection = 'scm:git:github.com/xxx/xxxx.git'                     developerConnection = 'scm:git:ssh://github.com/xxx/xxxx.git'                     //分支地址:                     url = 'https://github.com/xxx/xxxx/tree/master'                 }                 // A slightly hacky fix so that your POM will include any transitive dependencies                 // that your library builds upon                 withXml {                     def dependenciesNode = asNode().appendNode('dependencies')                      project.configurations.implementation.allDependencies.each {                         def dependencyNode = dependenciesNode.appendNode('dependency')                         dependencyNode.appendNode('groupId', it.group)                         dependencyNode.appendNode('artifactId', it.name)                         dependencyNode.appendNode('version', it.version)                     }                 }             }         }     }     repositories {         // The repository to publish to, Sonatype/MavenCentral         maven {             // This is an arbitrary name, you may also use "mavencentral" or             // any other name that's descriptive for you             name = "项目名称"              def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/"             def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots/"             // You only need this if you want to publish snapshots, otherwise just set the URL             // to the release repo directly             url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl              // The username and password we've fetched earlier             credentials {                 username ossrhUsername                 password ossrhPassword             }         }     } } signing {     sign publishing.publications }

完成后进入你的local.properties文件,添加如下:

signing.keyId=XXXXXXXX signing.password=密码 signing.secretKeyRingFile=D:/key/你的GPG签名秘钥文件.gpg ossrhUsername=sonatype帐号 ossrhPassword=sonatype密码

第三步·签名秘钥申请

这里需要一个GPG秘钥,需要下载GPG管理器客户端完成申请:

https://www.gpg4win.org/get-gpg4win.html

此软件是支持中文的,请放心使用,如下图,点击不捐助,点击下载安装即可。

Android库发布到Maven Central全攻略

安装完成后,点击主界面菜单,新建秘钥

Android库发布到Maven Central全攻略

点击第一个选项,创建个人秘钥:

Android库发布到Maven Central全攻略

接下来输入你的账号、邮箱以及勾选Protect the generated key with a passphrase.
(使用密码保护生成的密钥)在高级设置里可以设置更详细的,例如过期时间,但过期时间不可以太长,或报错。

Android库发布到Maven Central全攻略

下一步,设置密码,完成,在完成界面先不用急着上传或备份,直接点击完成。

在主界面双击你创建的秘钥,可以看到以下界面

Android库发布到Maven Central全攻略

请记住下边红框圈住的8位字母,复制下来,一会要用。点击生成吊销证书按钮,保存下来你的吊销证书,然后回到主界面点击右键,在服务器发布:

Android库发布到Maven Central全攻略

接下来再次右键,点击导出,重命名导出文件后缀,导出为gpg格式的文件。

回到Android Studio,到local.properties文件中,编辑刚刚的文件:

signing.keyId=02C4AC4B signing.password=你的秘钥密码 signing.secretKeyRingFile=D:/key/你的GPG签名秘钥文件.gpg ossrhUsername=sonatype帐号 ossrhPassword=sonatype密码

完成编辑。

第四步·上传

先进入你的Module的build.gradle,添加以下代码:

ext {     PUBLISH_GROUP_ID = "com.xxx.xxxx"       //项目包名     PUBLISH_ARTIFACT_ID = 'xxxx'            //项目名     PUBLISH_VERSION = 0.0.1                 //版本号 } apply from: "${rootProject.projectDir}/publish-mavencentral.gradle"

Sync后,先通过Gradle编译release版本,双击Module名称/Tasks/build/assemble:

Android库发布到Maven Central全攻略

完成后,上传到Maven Central,双击Module名称/Tasks/publishing/publicReleasePublicationToXXXRepository

Android库发布到Maven Central全攻略

执行完毕后,进入https://oss.sonatype.org/ ,使用你的sonatype帐号和密码登录。

进入左侧的Staging Repositories

Android库发布到Maven Central全攻略

在右上角搜索你的名字,应该能找到你上传的库文件,点击下方的Content可以查看详细已上传的文件:

Android库发布到Maven Central全攻略

确认无误后,点击Close关闭,输入介绍后点击Confirm完成所有操作。

Android库发布到Maven Central全攻略

接下来,需要等待5-10分钟,待Activity选项卡中出现对号的“Repository closed”即完成准备,然后点击Release按钮发布到MavenCentral,等待几个小时后可以在 https://search.maven.org/ 查询发布结果。

结束

以上就是Android库发布到Maven Central全攻略了,本文发表在大话安卓小专栏,禁止一切未授权的转载行为。如有疑问也欢迎加群271127803进行讨论。

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » Android库发布到Maven Central全攻略求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们