我正在关注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相关的错误...
答案 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)
答案 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构建系统minSdkVersion
和targetSdkVersion
将被您在模块的build.gradle
文件中定义的内容覆盖。所以在build.gradle
文件中定义它们,而不是在清单。
要在项目中添加支持依赖项,请参阅此