如何正确地将支持库添加到Android Studio 0.4.2

时间:2014-01-26 00:07:38

标签: android android-studio

我正在关注Android教程:

http://developer.android.com/training/basics/actionbar/setting-up.html

我正在添加Action Bar。我每走一步都会遇到错误。

1)首先 该教程首先说要添加这个

<uses-sdk android:minSdkVersion="11" ... /> 

然后说要添加:

<uses-sdk android:minSdkVersion="7"  android:targetSdkVersion="18" />

最后。应该是哪个?

2)第二 另一个问题是当我添加:

public class MainActivity extends ActionBarActivity { ... }

我收到错误消息,指出无法解析符号ActionBarActivity。

所以我去设置图书馆:

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

我已经下载了支持库。我有2个build.gradle文件。我认为合适的一个与SRC处于同一水平,而不是在SRC内部。它最终看起来像这样:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

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

allprojects {
    repositories {
        mavenCentral()
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:18.0.+'
    // this is for your application
}

然后再进入MainActivity导入:

import android.app.ActionBar;
import android.support.v7.app.ActionBar;

但第二次导入中的支持一词是红色的,无法解决

对于根项目中的参数[com.android.support:appcompat-v7:18.0.+],无法精确方法compile()。

3)第三 当我将主题更改为:

<activity android:theme="@style/Theme.AppCompat.Light" ... > 

我得到一个无法解决该行。

4)第四 最后因为我将MainActivity更改为ActionBarActivity,在清单文件中我得到一条红线:

        android:name="com.example.myfirstapp.MainActivity"

大概是因为那个班级现在有错误。

教程似乎不是最新的。

我收到与ActionBarActivity相关的错误... enter image description here

3 个答案:

答案 0 :(得分:1)

您需要在模块的gradle.build中添加maven依赖项,而不是在项目的gradle.build中。它是最内部的gradle.build文件。然后,您应该按“与Gradle文件同步项目”按钮。看起来应该是这样的:

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:19.0.1'
}

这假设您安装了最新的构建工具。

答案 1 :(得分:0)

我刚刚找到了这个有用的链接:

ActionBarActivity cannot resolve a symbol

这似乎是Android Studio 0.4.2错误。

答案 2 :(得分:0)

  

最后。应该是哪个?

ActionBar是在API级别11中引入的,所以

如果您支持的API级别低于11:

<uses-sdk android:minSdkVersion="7" ../> //like supporting API level 7 and above

由于ActionBar未包含在API中,为了使用它,您必须在项目中添加支持库作为依赖项。

,您的导入就像

android.support.v7.app.ActionBar

如果您仅支持API级别11及更高级别:

<uses-sdk android:minSdkVersion="11" ../> 

不需要做任何其他事情。你可以使用类似ActionBar的API(11级及以上)。

,您的导入就像

android.app.ActionBar

在你提及的文件中明确提到。

注意:在AndroidManifest中定义的gradle构建系统minSdkVersiontargetSdkVersion将被您在模块​​的build.gradle文件中定义的内容覆盖。所以build.gradle文件中定义它们,而不是在清单

要在项目中添加支持依赖项,请参阅此

ActionBarActivity cannot resolve a symbol