关于Jitpack发布aar,会丢失内置依赖库问题

Stars-one 2022年04月08日 110次浏览 本篇字数为1,573字

本文为作者原创,转载请注明出处,谢谢配合
作者:Stars-one
链接:https://stars-one.site/2022/04/08/jitpack-lose-dependency


关于发布aar出现的一个大坑排查,折腾了两天,终于是找到了解决方案

问题描述

有这样的一个情况,我新建了个Android的module,然后里面有依赖EventBus这个开源库,之后发布到Jitpack上

新项目引用我发布的那个库,然后运行的时候就报了个错误,说是找不到EventBus这个库

问题排查

显示排查了依赖的问题

最初以为,是依赖的方式不对,因为之前看相关资料,如果是module的话,使用compile关键字进行依赖的话比较好

但是之后尝试发现,使用apiimplementation,依赖都没有加上去

jitpack可以查看我们库的pom.xml文件,虽然jitpack提供的文档没有提及,下面的地址就是你发布库的地址

https://javadoc.jitpack.io/com/github/stars-one/android-component-libray/

从图中可以看到,有个列表展示了不同的路径名,知道maven的结构的同学应该很熟悉了

这里,我的项目是个多module,所以就会有多个不是版本号的文件夹,如果是单个module的话,应该是只有版本号的文件夹

其实就是一层层下去就可以找到我们的pom.xml文件了

我首先是排查了下某个module中的pom.xml文件,果不其然,里面依赖全都是空

从图中可以看到,有个列表展示了不同的路径名,知道maven的结构的同学应该很熟悉了

这里,我的项目是个多module,所以就会有多个不是版本号的文件夹,如果是单个module的话,应该是只有版本号的文件夹

其实就是一层层下去就可以找到我们的pom.xml文件了

我首先是排查了下某个module中的pom.xml文件,果不其然,里面依赖全都是空

如下图所示:

连dependencies的标签没有,怪不得需要重新依赖了,知道了原因之后,于是上网搜索答案

终于是在bing搜索找到了一个关键信息,即下面的解决方法(还是stackflow网站靠谱 😄)

解决方案

将你的插件android-maven-gradle-plugin升级到2.0版本

  classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'

参考

相关标签