我正从Action Bar Sherlock迁移到Action Bar compat。我删除了ABS,我有支持-v4-google地图,我收到了错误。我现在将v4直接添加到项目中以查看它是否解决,但我想知道:
如果库是冗余的或补充的话,我真的不明白文档吗?
感谢您的建议,指示等。
编辑:这是一个错误,让我添加v4与“外部jar ...”解决它。
The type android.support.v4.app.TaskStackBuilder$SupportParentable cannot be resolved.
It is indirectly referenced from required .class files
但是,如果你说我不应该添加v4,如果已经有v7,我该怎么解释它?
相关帖子,解决方案是在这里添加v4。 The hierarchy of the type activity is inconsistent when extending ActionBarActivity
编辑2:如果按照以下步骤逐点完成,则v4 jar包含在v7库项目中:http://developer.android.com/tools/support-library/setup.html#add-library 我的设置是:
答案 0 :(得分:56)
v7包含v4支持库,因此无需再次使用它
如果你查看v7支持库的libs
文件夹,你会看到库中已经引用了v4 jar
答案 1 :(得分:5)
V7是android-support库的新版本,只是在V4支持库的V7中实现的新功能。所以v4的所有方法和类都在v7中可用。
因此,如果添加v7库,则无需添加v4库。
答案 2 :(得分:2)
如果您使用的是Android Studio,则包含v7支持库的默认方式是build.gradle文件中定义的maven依赖项。
dependencies {
compile 'com.android.support:appcompat-v7:18.0.0'
}
appcompat-v7 .aar文件不包含v4类。您可以通过查看build / explosion-bundles / ComAndroidSupportAppcompatV71800.aar文件夹来查看此内容。我发现如果你创建一个新项目,它还将包含SDK文件夹中v4的.jar文件。
答案 3 :(得分:2)
在我的情况下(Eclipse),它取决于您在项目中导入的v4和v7 jar。
我的建议是同时使用此文件夹中的文件jar: C:\ ADT-束 - 窗口x86_64的-aaaammgg \ SDK \额外\机器人\支持\ V7 \程序兼容性\库
答案 4 :(得分:0)
就我而言,当我在Eclipse中使用public class MainActivity extends AppCompatActivity
时,仅仅'android-support-v7-appcompat.jar'是不够的。我还需要添加android-support-v4.jar
(构建路径 - >库 - >添加JAR)。只有这时才接受AppCompatActivity
。