Android 如果我使用“new”;V7 Appcompat库“;,我还需要吗;V4支持库“;对于最小SDK=7?

Android 如果我使用“new”;V7 Appcompat库“;,我还需要吗;V4支持库“;对于最小SDK=7?,android,android-support-library,android-appcompat,Android,Android Support Library,Android Appcompat,我正在从行动酒吧夏洛克迁移到行动酒吧。我删除了ABS,里面有support-v4-GoogleMaps,但出现了错误。我现在将把v4直接添加到项目中,看看它是否能解决问题,但我想知道: 从文档中我真的不明白库是多余的还是互补的 谢谢你的建议、指点等 编辑:这是一个错误,使我添加了带有“外部jar…”的v4,它解决了这个问题 The type android.support.v4.app.TaskStackBuilder$SupportParentable cannot be resolved.

我正在从行动酒吧夏洛克迁移到行动酒吧。我删除了ABS,里面有support-v4-GoogleMaps,但出现了错误。我现在将把v4直接添加到项目中,看看它是否能解决问题,但我想知道:

从文档中我真的不明白库是多余的还是互补的

谢谢你的建议、指点等

编辑:这是一个错误,使我添加了带有“外部jar…”的v4,它解决了这个问题

The type android.support.v4.app.TaskStackBuilder$SupportParentable cannot be resolved. 
It is indirectly referenced from required .class files
但是如果你说如果已经有了v7,我就不应该添加v4,我该如何向Eclipse解释呢

在相关帖子中,解决方案是在这里添加v4

编辑2:v4 jar包含在v7库项目中,如果按照以下步骤逐一完成: 我的设置是:

  • 安卓4.3:未选中
  • APrivate库:未选中
  • v7应用程序…/src:已选中
  • v7应用程序…/gen:已选中
  • 独立性:未经检查
  • 原始v7 jar:检查
  • 原始v4 jar:检查

v7包含v4支持库,因此无需再次将其放入其中


如果您查看v7支持库的
libs
文件夹,您将看到v4 jar已经在库中引用了

v7是android支持库的新版本,只是v4支持库的v7中实现的一些新东西。因此,v4的所有方法和类都可以在v7中使用


因此,如果添加v7库,则无需添加v4库。

如果使用Android Studio,包含v7支持库的默认方式是build.gradle文件中定义的maven依赖项

dependencies {
    compile 'com.android.support:appcompat-v7:18.0.0'
}
appcompat-v7.aar文件不包含v4类。通过查看build/exploded bundles/ComAndroidSupportAppcompatV71800.aar文件夹可以看到这一点。我发现,如果您创建一个新项目,它还将包含SDK文件夹中v4的.jar文件。

在我的例子(Eclipse)中,它取决于您在项目中导入的v4和v7 jar

我的建议是使用此文件夹中的文件jar:
C:\adt-bundle-windows-x86\u 64-aaaammgg\sdk\extras\android\support\v7\appcompat\libs

在我的例子中,当我在Eclipse中使用
公共类MainActivity扩展AppCompatActivity
时,单靠“android-support-v7-appcompat.jar”是不够的。我还需要添加
android-support-v4.jar
(构建路径->库->添加jar)。只有在那时,
AppCompatActivity
才被接受。

所以当我在请求v4类时出错,我解决了再次添加v4库的问题,这是没有用的,我应该检查每个错误,让对象将其依赖关系更改为android v7?为什么这两个库之间有区别,而不是只有一个?您确定您正确导入了v7库吗?v7是一个库项目,这意味着它有资源来处理事情,因此您不能只复制jar文件,它听起来像您所做的那样。如果您查看支持库所在的SDk,您将看到v7包含v4 jar文件,因此当您导入v7时,您有v4 tooI按照文档进行导入,但您是对的,我可能无法签入“order and export”。我有:安卓4.3:未经检查的APrivate库:未经检查的v7应用程序…/src:已检查的v7应用程序…/gen:已检查的依赖项:未经检查的原始v7 jar:检查原始v4 jar:检查您有什么?为什么文档要求取消选中依赖项而检查jar?我们不检查Android 4.3,因为它是一个库项目,对吗?(天哪,我有这么多问题!)太好了!这似乎是可行的:)我仍然很高兴能学到更多,如果你有时间在这里,他们说你需要包括这两个,如果我理解正确的话,说V7依赖于和引用V4会更准确。V7不会取代V4。V7不是V4的替代品,而是依赖于V4注意:此库(V7)依赖于V4支持库。如果您使用的是Ant或Eclipse,请确保将v4支持库作为该库的类路径的一部分?在没有v4的情况下如何导入此包?