我的安卓 maven 依赖树中的额外依赖



我试图弄清楚为什么 maven 要添加这个依赖项:

 com.android.support:support-v4:jar:21.0.0:system

在我的依赖树中。它位于树的顶层,而不是在任何其他依赖项之下,这意味着我应该能够在 pom 中找到它.xml?好吧,它不在那里,也不在我的项目中的其他任何地方。在我的任何其他依赖项下,它也不作为传递依赖项存在。

运行

mvn dependency:tree

启用调试后只给了我这 2 行额外的行:

[DEBUG]   testArtifact: artifact=com.android.support:support-v4:jar:21.0.0:system
[DEBUG]   includeArtifact: artifact=com.android.support:support-v4:jar:21.0.0:system

有什么想法吗?

编辑:安卓插件是否有可能在我的依赖树中添加任何东西?

它不是来自android-maven-plugin(AMP),而是来自aar依赖项。AMP 知道如何处理"aar"。你的一个安卓库(aar)将support-v4库作为内部jar(换句话说,它包含在libs文件夹内的aar中)

运行 mvn 编译,mvn 的前几行将显示哪个库包含此 jar 的警告。

您有 2 个选择:

  • 要求该库的生产者不要在 AAR 中提供 Support-v4,而是在 build.gradle/pom 中放置一个依赖项.xml
  • 通过将 includeLibsJarsFromAar 标志设置为 false,切勿包含来自 aar 的任何内部 jar,但是当您自己包含 support-v4 lib 时,您将遇到问题,因为它包含内部 jar

相关内容

  • 没有找到相关文章

最新更新