android–gradle– 库在依赖项中重复

android–gradle– 库在依赖项中重复,第1张

概述我有一个带gradle的Android项目.问题是:在项目视图中,我看到了几个版本的support-v4库,例如support-v4-21.0.3和support-v4-22.2.0.但是在build.gradle中我根本没有支持-v4.但是我在build.gradle中有~10个其他依赖项.例如程序兼容性-V7:22.2.0.我可以建议appcompat-v7:22.2.0依赖于

我有一个带gradle的Android项目.问题是:
在项目视图中,我看到了几个版本的support-v4库,例如support-v4-21.0.3和support-v4-22.2.0.

但是在build.gradle中我根本没有支持-v4.

但是我在build.gradle中有~10个其他依赖项.例如
程序兼容性-V7:22.2.0.我可以建议appcompat-v7:22.2.0依赖于maven依赖项中的support-v4-22.2.0并隐式提取它.但我没有任何想法支持-v4-21.0.3.

据我所知,所有这些libs将包装在我的APK中并增加APK的重量.

所以我有下一个问题:

>如何避免库重复
>如何在AndroID Studio中查看maven依赖项?
>如何检测哪个库需要此库?例如哪个库在我的项目中需要support-v4-21.0.3?

解决方法:

要查找重复的依赖项或其所需的依赖项,可以在树中可视化库依赖项.执行gradle命令如下.

gradle -q dependencIEs yourProject:dependencIEs --configuration compile

请注意,在windows中运行gradlew如下所示.

gradlew -q dependencIEs yourProject:dependencIEs --configuration compile

命令结果将显示所有依赖项的人类可读树层次结构,如下所示.

compile - Classpath for compiling the main sources.+--- org.androIDannotations:androIDannotations-API:3.2+--- com.androID.support:support-annotations:22.1.1+--- com.squareup:otto:1.3.6+--- in.srain.cube:grID-vIEw-with-header-footer:1.0.10+--- com.nostra13.universalimageloader:universal-image-loader:1.9.3+--- com.github.chrisbanes.photovIEw:library:1.2.3+--- org.simpleframework:simple-xml:2.7.1+--- com.Google.androID.gms:play-services-base:6.5.+ -> 6.5.87+--- project :yourProject|    +--- com.loopj.androID:androID-async-http:1.4.6|    +--- org.apache.httpcomponents:httpmime:4.2.5|    |    \--- org.apache.httpcomponents:httpcore:4.2.4|    \--- com.Google.code.gson:gson:2.3.1+--- project :facebook|    \--- com.androID.support:appcompat-v7:22.1.1|         \--- com.androID.support:support-v4:22.1.1|              \--- com.androID.support:support-annotations:22.1.1 -> 22.2.0

您可以看到覆盖依赖关系,并考虑应该避免哪些依赖关系.在上面的示例中,最后一行com.androID.support:support-annotations在内部覆盖了22.1.1到22.2.0.

为避免重复,您可以在每个项目build.gradle文件中添加exclude子句.

compile('com.github.chrisbanes.photovIEw:library:1.2.3') {    exclude group: 'com.androID.support'}compile('org.simpleframework:simple-xml:2.7.1') {    exclude module: 'stax'    exclude module: 'stax-API'    exclude module: 'xpp3'}compile('com.Google.androID.gms:play-services-base:6.5.+')        {            exclude module: 'support-v4'        }

有关更多信息,请参阅https://docs.gradle.org/current/userguide/userguide_single.html#sec:listing_dependencies中的教程

总结

以上是内存溢出为你收集整理的android – gradle – 库在依赖项中重复全部内容,希望文章能够帮你解决android – gradle – 库在依赖项中重复所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1104073.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存