这一步骤有一些坑,比如 classpath 的引入这里,我引入版本为 0.8.1 的时候,报了如下错误:
Cause: com.novoda.gradle.release.AndroidLibrary$LibraryUsage.getDependencyConstraints()Ljava/util/Set;引入版本为 0.6.1 时,报错:
No such property: FOR_RUNTIME for class: org.gradle.api.attributes.Usage引入版本为 0.3.4 时,报错:
Unable to load class 'org.gradle.api.internal.component.Usage'.修改为最新版本的 0.9.1 之后就没问题了。所以假设当你看到这篇文章按照上面引入时报错,可以到官网 GitHub 看下最新版本是否是 0.9.1。
GitHub 官网:https://github.com/novoda/bintray-release
6. 上传开源库在项目根目录执行上传命令,直接在 Android Studio 的 Terminal 面板输入命令即可。
./gradlew clean build bintrayUpload -PbintrayUser=zengyuzhan -PbintrayKey=xxxxxx -PdryRun=false其中 PbintrayUser 指定的是你注册的 bintray.com 账号的用户名。PbintrayKey 指定的是你 bintray.com 网站的 API Key。
按照下图获取 API Key:
点击拷贝按钮拷贝到剪贴板即可,需要使用的话再粘贴。
等到 Terminal 编译成功之后,会显示 BUILD SUCCESSFUL。
这边编译的时候出了一个错误,如下:
Execution failed for task ':permission:javadocRelease'. > Javadoc generation failed. Generated Javadoc options file (useful for troubleshooting):这个是 Javadoc 任务报错,我不需要这个,因此解决方法是不执行上面的 task :permission:javadocRelease。
在项目的 build.gradle 文件的 allprojects 语句块中,增加下面语句:
tasks.getByPath(":permission:javadocRelease").enabled = false可以看到小括号里面就是上面报错的 task。
如果你的 Javadoc 报错 task 跟我这个不一致(大概率不一致,跟 Module 名有关系),那么你就要进行对应修改。
添加之后 Sync 项目再上报就没这个问题了。
7. Add to JCenter上传完成之后,我们还需要到 bintray.com 网站上面点击 Add to JCenter,然后等待审核才算大功告成。
因为上面的项目我已经发布成功并且点击了,所以我用另一个开源库来演示这个步骤。
进入首页,点击 maven:
可以看到你开源的所有包名:
点击最新上传但是还没有添加到 Jcenter 的库。
点击 Go to Old Look
可以看到 Add to JCenter 按钮。点击
简单写下对这个库的描述即可。
点击 Send 之后网页会显示一个提示。接下来就等待邮箱通知就可以了。
审核完毕之后你进来就不会看到 Add to JCenter 按钮了。
比如我之前审核通过的库:
之后你就可以像引用其他三方库一样引用到你的项目中了。
总结如下:
本文演示的仓库为:https://github.com/nesger/PermissionManager
有不清楚的可以留言或者直接查看我演示仓库的提交记录和源码。
参考链接:
https://blog.csdn.net/lmj623565791/article/details/51148825
https://www.jianshu.com/p/6f808c29e378
https://blog.csdn.net/anydrew/article/details/51286998