什么是com.android.support:appcompat-v7?

时间:2014-02-22 10:03:39

标签: java android android-studio

我不熟悉使用Android Studio。早些时候我用过Eclipse。你能解释一下Android studio中的gradle是什么吗?我有Android Studio的问题。令我感到困惑的是,它使用与eclipse相同的android sdk,但是当我创建一个新项目时,会发生奇怪的事情:

  1. 需要:com.android.support:appcompat-v7:+(它是什么?eclipse不需要它)
  2. 我的MainActivity扩展ActionBarActivity而不是活动为什么会这样?

2 个答案:

答案 0 :(得分:2)

它是一个名为appcompat的支持库。如果你需要api level 11以下的actionbar(无论是android studio还是eclipse),你需要引用它。

如果您需要api级别11以下的操作栏,则您的活动需要延长ActionBarActivity

如果您的目标是api等级11及以上,则无需延长ActionBarActivity和参考AppCompat。您可以简单地扩展Activity,默认情况下您将拥有actionabr。

检查以下链接中的添加操作栏

http://developer.android.com/guide/topics/ui/actionbar.html

使用Android Studio @

检查使用资源添加库

https://developer.android.com/tools/support-library/setup.html

答案 1 :(得分:2)

Actiobbar是在api级别11中引入的。com.android.support:appcompat-v7:+是一个支持库,允许您在应用中为在Android 3.0或更低版本上运行的设备安装ActionBar。

Android Studio默认项目会自动将其包含在依赖项中,并扩展ActionbarActivity而非Activity,以便使用它。

您可以在模块的build.gradle文件中检查相同内容,您可以在依赖项块下找到类似的内容。

 compile 'com.android.support:appcompat-v7:+'

有两种可能的解决办法来摆脱这个

  1. 从依赖项块中删除上一行,并在Activity类中扩展Activity而不是ActionBarActivity。

  2. 从Android SDK Manager下载支持存储库。

  3. Eclipse中不需要SDK管理器中显示的支持存储库和Google存储库,但为了在Android Stodio中使用Google Play服务和支持库,您必须下载它们。

    编辑(未找到android插件错误,在下面的评论中提到):

    确保在根级build.gradle文件或模块的build.gradle文件顶部有这个,让build系统知道你的gradle pguin在哪里以及版本是什么: (在应用插件之前:'android')

    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.8.+'
        }
    }