我不熟悉使用Android Studio。早些时候我用过Eclipse。你能解释一下Android studio中的gradle是什么吗?我有Android Studio的问题。令我感到困惑的是,它使用与eclipse相同的android sdk,但是当我创建一个新项目时,会发生奇怪的事情:
com.android.support:appcompat-v7:+
(它是什么?eclipse不需要它)MainActivity
扩展ActionBarActivity
而不是活动为什么会这样?答案 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:+'
有两种可能的解决办法来摆脱这个
从依赖项块中删除上一行,并在Activity类中扩展Activity而不是ActionBarActivity。
从Android SDK Manager下载支持存储库。
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.+'
}
}