好几个月没有更新博客,业余精力主要放到开源社区,经过近一年的一点点积累,也写了几个小组件。
推荐将组件发布到JitPack,只需要简单的几步。比发布到Maven要方便简单的多,不需要修改项目引入额外的'maven-publish'等容易出错的gradle配置。
第一步,在GitHub上发布release版本,这里以WaveLoadingCircleView仓库为例。
①新建或从选择已有的Tag发布release;
②填写版本号,组件的版本号一般为三位 X.X.X 数字;比如1.0.0、2.8.0等。
③填写发布的组件说明,bug修复还是新特性;
④可以选则上传aar,也可以忽略,借助JitPack提供。
⑤最后选择是否是一个pre-release的预览版本,如果组件够稳定,就发布正式的release。
点击发布,会在仓库右侧看到所有已经发布的版本。
2、通过JitPack发布
接着打开JitPack官网:https://jitpack.io/,输入要发布组件的仓库地址(支持GitHub、Gitee.com)(以WaveLoadingCircleView为例),点击Look Up,JitPack会自动查找在GitHub仓库中所有已经发布的relase版本。
选择需要发布的release版本点击Get it,稍等片刻,JitPack会执行编译以获取最终发布的aar。
3、常见错误
本地能编译成功,但在JitPack平台不一定顺利,可能会遇到各种编译报错问题,导致不能Get 到最终的发布版本,现在记录一下遇到的“坑”:
仔细看这一行“Incompatible because this component declares an API of a component compatible with Java 11 and the consumer needed a runtime of a component compatible with Java 8”,说明JitPack平台需要用Java 11,而本地默认配置的是Java 8,就需要将所有compileOptions配置改成Java 11即可:
compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 }
编译过程中会输出编译日志,通过日志分析解决遇到的其它问题,比如:
编译失败Log:https://jitpack.io/com/github/quibbler01/WaveLoadingCircleView/1.0.1/build.log
编译成功Log:https://jitpack.io/com/github/quibbler01/SwitchButton/1.0.2/build.log
4、使用JitPack发布的组件
使用通过JitPack发布的组件非常方便,只需要在项目根build.gradle中添加:
allprojects { repositories { ... maven { url 'https://jitpack.io' } } }
再添加对应的依赖即可:
dependencies { implementation 'com.github.quibbler01:WaveLoadingCircleView:1.0.2' }
如果gradle无法下载依赖,可以参考解决maven { url 'https://jitpack.io' } 无法下载的问题一文。