
我有一个带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 – 库在依赖项中重复所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)