Design Lib CONTAINS support-v7为什么要编译它们

时间:2016-05-20 21:59:09

标签: android android-support-library android-design-library

当我注意到这个

时,我被激怒了

我在随机网站,热门网站,stackoverflow问题和答案中看到的gradle模型的代码的每一个代码,编码器与appcompact-v7一起编译设计库,甚至更多与recyclerview和cardview和suppport lib,同时设计lib包含所有这些并且我确实使用了所有这些并且非常正常地导入它们而没有一个问题。这让我非常困惑,请一些专家解释,一切都谢谢

1 个答案:

答案 0 :(得分:0)

  

虽然设计lib包含所有这些

com.android.support:design工件不包含"" " appcompact-v7甚至更多依靠recyclerview和cardview以及支持lib",至少对于"包含"的标准英语定义。如果您在AAR中查找com.android.support:design:23.4.0,那么您将找不到其他工件中的任何类。

com.android.support:design 对其他工件有transitive dependencies。具体来说,当您依赖com.android.support:design:23.4.0时,您还将依赖:

  • com.android.support:appcompat-v7:23.4.0
  • com.android.support:recyclerview-v7:23.4.0
  • com.android.support:support-v4:23.4.0

反过来,这些也会进入:

  • com.android.support:animated-vector-drawable:23.4.0
  • com.android.support:support-annotations:23.4.0
  • com.android.support:support-vector-drawable:23.4.0

com.android.support:design依赖于来自com.android.support:appcompat-v7和kin的类和资源,这就是它具有这些依赖关系的原因。如果依赖于com.android.support:design,则间接依赖于所有其他工件。 Gradle将自动拉入它们。

请注意,com.android.support:design或其任何依赖项似乎都依赖于com.android.support:cardview。不可否认,我只检查了23.4.0