java - 无法让 ActionBar 在 Android 项目中工作并且 Android ActionBar 示例有很多编译错误

标签 java android xml android-studio

我正在尝试将 ActionBar 添加到我的 Android 应用程序并严格按照说明进行操作,但遇到问题。它告诉我添加

将“com.android.support:appcompat-v7:18.0.+”编译到依赖项部分中的build.gradle文件,但是当我打开build.gradle文件时它完全是空的。因此,我在其中创建了依赖项部分,就像教程中所示的那样,但是当我将鼠标悬停在“依赖项”一词上时,会出现一个工具提示,显示“无法解析符号依赖项”。

为什么我的 gradle 文件是空的,它应该是空的吗?为什么它会给我这个错误?为什么没有任何 Android ActionBar 示例在 Android Studio 中构建/编译/运行,它们都缺少依赖项或存在不同错误的页面和页面?我已按照 Android 文档中的所有内容进行设置并正确启动,但 Android Studio 似乎完全损坏了。

最佳答案

首先,我分享您的挫败感...Android Studio 仍处于早期预览 Release模式,并且存在许多问题。
build.gradle 文件决不能为空。
它可以从 Eclipse 自动生成( 右键单击项目 -> 导出 -> Android -> 生成 gradle 构建文件 )如果您想将 Eclipse 项目移植到 Android Studio 中,
或者如果您在 Android Studio 中使用向导创建新的 Android 应用程序,则会创建该项目。

其次,您在项目设置中输入的内容与 build.gradle 脚本包含的内容是不同的。也就是说,如果您从项目设置菜单添加了库,但未在 build.gradle 中添加,则您的项目将无法构建。但另一方面,如果您在 build.gradle 脚本中添加依赖项,而不是通过项目/模块设置,Android Studio 可能会提示,但当您运行构建任务时(例如.\gradlew assembleDebug --info) 从命令行,应该没问题。
总而言之,如果您想通过按绿色箭头来运行应用程序,则必须在 build.gradle 脚本中将库添加为依赖项,如下所示:

buildscript {
    repositories {
        mavenCentral()
        mavenLocal()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

dependencies {

    repositories {
        mavenCentral()
    }

    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.android.support:support-v4:18.0.0'
    compile 'com.android.support:appcompat-v7:18.0.+'
....
}

并将其添加到模块设置中(文件->项目结构->模块->依赖项->按绿色加号并添加库)。
如果您从命令行运行构建,则可以省略步骤 2(当您从命令行运行构建时,会在/build/apk 文件夹下创建一个 apk,您必须手动将其安装到测试手机上)。

关于java - 无法让 ActionBar 在 Android 项目中工作并且 Android ActionBar 示例有很多编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18908239/

相关文章:

android - 无法在 Android 4.1.1 的 WebView 上接收 KEYCODE_DEL

java - Firebase onDataChange 未触发

javascript - document.getElementsByName() 不是 Firefox 中的函数

java - 在 Java 中打印堆栈,以便该数字可用

java - 函数名称的字符串操作

Android:是否有可能以及如何更改 WebView 中显示的 HTML 页面的字体大小?

html - 如何在xml中嵌入css?

xml - Oozie工作流程架构错误

java - 使用接口(interface)重写方法

java - 如何解析 JSON 模式并创建默认的 json 对象或生成 java 类?