1. MavenCentral和JCenter
2. Maven Central用户注册
如果你只想把开源库发布到jcenter服务器,那么请直接忽略掉整个Maven Central用户注册过程。直接跳到提纲3后继续阅读本文。
(2)登录用户,点击“Create”创建一个issue
-Summary:填写名称,可以是任意内容
-Description:填写描述
-Project URL:项目的url,可以是项目的github地址
-其他的条目可以不填,然后提交审核即可(审核通过前,你的仓库是无法使用的)
(3)issue审核期一般在2天内,如果审核通过后会发邮件通知你,登录后查看“issue->上面创建的名称”,你会发现它的等待状态为“resolved”,至此恭喜你,你的仓库可以正常使用了。
注意:一个用户只需要创建一个issue就可以了,多创建了,人家也不会给你审核通过,容易招管理员厌恶。(你可以把issue想象成你的专属maven仓库,把你所有的开源库都提交到这里就对了)
3. jcentral用户注册
(2)登录用户,找到“Your Profile-->Edit”编辑你的资料
(3)“Your Profile-->Edit-->Accounts”,在Sonatype OSS User处填写你的Maven Central用户名(这一步不是必须的,如过你没有Maven Central账户或者不想将开源库同步到Maven Central服务器,可以忽略该步骤)
(4)“Your Profile->Edit-->API Key” 记录下这个key值,它会在发布开源库的时候要用到
(5)“Your Profile” 找到maven仓库,这个就是你可以发布开源库的maven仓库,它限定了名字是:maven
4. 提交工作过程
无论是jcenter还是Maven Central都要求你在发布开源库的时候提供aar 、source.jar、javadoc.jar、pom等必须文档。此外,Maven Central还要求你提供相应的GPG签名。所以我们开原库发布的整个过程大致是这样:上传PGP签名 --> 打包aar 、source.jar、javadoc.jar、pom等必要文档 -->上传到jcenter --> 提交加入jcenter审核 --> 在审核上一步的审核通过后,再同步到Maven Central(如果你只需要将开原库发布到jcenter那么你可以忽略上传PGP签名和同步到Maven Central步骤),如下图:
5. 具体实施步骤
(1)创建 GPG 签名
$ gpg --gen-key
$ gpg --list-keys
解释如下图:
(2)配置GPG 签名。在计算机本地 gradle 运行环境的属性文件(位于~/.gradle/gradle.properties,如果没有请自行手动创建)添加内容:
signing.keyId=your-public-key-id
signing.password=your-gpg-password
signing.secretKeyRingFile=/Users/your-user-name/.gnupg/secring.gpg
(7)在你工程下的全局gradle.build文件的dependencies下加入以下插件引用:
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
classpath ‘org.jfrog.buildinfo:build-info-extractor-gradle:3.1.1‘
(8)在你工程library module下的gradle.build文件加入:apply from: "../gradle/bintray_push.gradle"
(9)编译工程,然后在android studio终端执行:gradlew bintrayUpload任务(也可以在gradle面板执行点击执行bintrayUpload任务)。等待.......一两分钟,正常情况下,开原库在第一次提交的时候,你会发现有一个同步到Maven Central失败(Sync Maven Central failed)提示。哈哈哈,不用慌张。为什么呢(不知道原因的肯定是没有仔细阅读“提交工作过程”内容)?因为你的开原库在jcenter上没有都被审核通过,所以没法被同步到Maven Central。
然后它会跳转到package管理页面,点击“Include My Package”,输入开源库名字,选择你的开源库,最后填写,提交信息即可。
(11)等待.......几个小时。就会收到审核通过通知(在jcenter主页的消息页面查看通知,邮件也会收到通知)。如果看到“approved”字眼,恭喜你,你的开源库已经在jcenter发布完成,可以被广大开发人员通过gralde complie使用了。
(13)步骤10、11、12一般是在开源库第一次发布的时候是必须的,之后升级更新,都不需要手动操作了,因为我们之前的脚本文件,已经帮我们干了这些事。
6. 常见错误
(1)java代码字符不是utf-8格式,导致javadoc生成失败,脚本无法完成上传,因为必要文件缺一不可。
(2)java代码注释有问题,导致javadoc生成失败,脚本无法完成上传,因为必要文件缺一不可。
(3)gpg签名生成或者配置不正确,导致签名失败,无法被同步Maven Central。
(4)jcenter或者Maven Central用户名不是全小写导致远程仓库url不匹配,出现404