Android支持库

时间:2015-12-11 05:49:14

标签: android android-support-library

对不起,这可能是个愚蠢的问题。首先,我对android有点新鲜。当谈到支持库时,我总是感到困惑。最让我伤心的是,如果我的依赖项中有多个库,并且每个库都使用不同的支持库版本。一个使用 V4 ,另一个使用" v7" 和不同的构建版本。预计它自己使用另一个版本。不会有任何冲突或重复的条目,因为每个条目都有不同的版本。 :-)

被修改

图书馆A(第7节:22.1.1)

图书馆B(第4节:19.1.0)

图书馆C(第4节:18.0.0)

app(v4:18.0.0)

正如我的期望,应该有冲突,但我可以运行没有任何缺陷的项目,这让我很困惑。

已修改

据说v7包含v4,所以我删除了所有子模块中的支持库,并将v7放入 app module 。在我改变之后,我发现了错误,甚至无法建立......

非常感谢您的解释,因为大多数初学者都可能会有这些困惑

2 个答案:

答案 0 :(得分:1)

实际上v7包含v4支持库。它们之间不会有任何冲突和重复的条目。

v4支持库

此库旨在与Android 1.6(API级别4)及更高版本一起使用。它包括与其他库相比最大的API集,包括对应用程序组件,用户界面功能,可访问性,数据处理,网络连接和编程实用程序的支持。

v7支持库

它包含几个旨在与Android 2.1(API级别7)及更高版本一起使用的库。这些库提供特定的功能集,可以相互独立地包含在您的应用程序中,并添加了额外的功能。

答案 1 :(得分:0)

v7包括v4支持库,因此如果您要导入v7而不需要添加v4

您可以登入v7 libs folder it includes v4 library

现在,如果您有多个库(模块)项目,它具有一些层次结构,而不是将库附加到主父库,并将该父库添加到子库项目或主项目中

Library_A(必需的v4或v7的某些类)

Library_A1(必需的v4或v7的某些类)

Main_Porject(最后一个)

仅向Library_A添加支持v7

将Library_A添加到Library_A1作为模块

无需将v7添加到Library_A& Library_A1可能会导致冲突

仅将Library_A1作为模块附加到Main_Project。

使用不同版本的多个v7库会导致问题。