Android Studio - Appcompat 构建失败 values-v23/styles_bases。xml

Android Studio - Appcompat build fail values-v23/styles_bases.xml

我将从我想要实现的目标开始:构建此处提供的 googlecast-manager 示例:https://github.com/googlecast/GameManagerSamples 我按照此处的说明操作:https://developers.google.com/cast/docs/android_sender

所以我首先从 github 项目下载,然后使用 Android SDK 管理器下载 Android 支持库和 Google 播放服务。然后在我的项目中,我去了"Open Modules Setting->Add"然后去了"Android SDK\extras\android\support\v7\appcompat"并添加了它。

然后确保其正常工作的第一步是构建它。所以我右键单击了 appcompat->"Compile Module Appcompat" 但它失败了 2 个错误:

  1. Error:(20, -1) android-apt-compiler: [appcompat] D:\Android SDK\extras\android\support\v7\appcompat\res\values-v23\styles_base.xml:20: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.

  2. Error:(19, -1) android-apt-compiler: [appcompat] D:\Android SDK\extras\android\support\v7\appcompat\res\values-v23\styles_base_text.xml:19: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.

为 Google 做同样的事情就像一个魅力。

我试图找到 videos/other 类似的问题,但要么太复杂,要么不是我的问题。

这里是 appcompat 的 AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="android.support.v7.appcompat">
<uses-sdk android:minSdkVersion="9"
    android:targetSdkVersion="19"/>
<application />

这是从 Android SDK 管理器安装的:

我认为您应该升级 compileSdkVersion。检查你的 build.grade 文件,应该是这样的:

android {
    compileSdkVersion 23 // <- here
    buildToolsVersion "23.0.0" // <- here

    defaultConfig {
        applicationId "your.id"
        minSdkVersion 11
        targetSdkVersion 23 // <- and maybe here
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        ....
    }
}

当然,您需要从 SDK 管理器下载最新的 Android SDK 和构建工具(以及您需要的任何其他工具)。

我确实找到了问题的答案,上面的人是对的。用于编译模块的模块 SDK 设置为 22.0 而不是 23.0。为了解决这个问题,我做了以下事情。 右键单击 appcompat:"Open Module Setting -> Modules SDK":新建。我选择了包含整个 Android SDK 的文件夹,并选择了最后一个 Android(例如 6.0)和最后一个 Module SDK 23.0.

我也遇到了同样的问题,现在已经解决了。你只需要做的就是

  1. 在你的Android工作室里
    1. Shift键两次,会出现一个搜索框输入build.gradle
    2. 从建议中选择build.gradlemodule:app
    3. compileSdkVersionsupport librariesdependencies 的主要版本应与以下代码描述相同。
  2. Eclipse 内部
    找到 build.gradle module:app 并做同样的事情。

注意: 下载并正确安装最新的 API,现在是 API 23.

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"

    defaultConfig {
        applicationId "com.example.inzi.app"
        minSdkVersion 9
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
}

恢复到 appcompact-v22 或更新到 android api v23

如果您在 Eclipse 中工作,请执行以下操作:

  1. 在您的 AndroidManifest.xml 文件中,将 android:targetSdkVersion 更改为 23
  2. 打开项目设置(ALT + Enter,同时专注于 Project Explorer)
  3. 转到 Android 选项卡并在 Project Build Target 部分标记 Android 6.0
  4. 清理并构建您的项目

注意:执行此操作时请记住,Android OS 会将您的应用视为专为在 Android M 上运行而设计。例如,如果您使用一些危险的权限,您应该添加例程以在运行时检查。

我在使用新的 appcompat V-23 时遇到问题,因为我的目标 sdk 是 21。所以我执行了两个步骤,它非常适合我..

1) 删除res文件夹中的values-23文件夹

2) 我在 src 文件夹中也遇到了错误,所以评论了 snippet.java 的 main() 中的唯一一行,因为我们不需要它。

然后将此项目作为库添加到您的项目中。希望对您有所帮助。

本次讨论中的答案#31 和#11 可以解决这个问题: https://code.google.com/p/android/issues/detail?id=183122

您必须将您的 SDK 更新到未下载或未正确安装的 API 23

在你的build.gradle设置

compileSdkVersion 23
    buildToolsVersion "23.0.0"


    targetSdkVersion 23
compile 'com.android.support:appcompat-v7:23.0.0'

我解决如下

android {
    compileSdkVersion "Google Inc.:Google APIs:21"
    buildToolsVersion "23.0.0"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
}

将上面的 dependencies 替换为下面的...

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services:7.8.0'
}

要更正 android 工作室中的此错误,请按如下方式进行: 我去了 sdk 管理器,我下载并更新了 android api 23 的所有包 文件 => 项目结构,我将编译 sdk 版本从 21 更改为 23,并将构建工具版本从 21 更改为 23

您必须将您的 SDK 更新到 API 23 未下载或未正确安装。 确保您的 compileSdkVersiondependencies 版本应该相同。

该问题一般是版本问题。以下依赖项和 compilesdkversion 对我有用:-

apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '23.0.3'
defaultConfig {
    minSdkVersion 14
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}
packagingOptions {
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/LICENSE-FIREBASE.txt'
    exclude 'META-INF/NOTICE'
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
productFlavors {
   }
 }

dependencies {

compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.google.android.support:wearable:+'
compile 'com.google.android.gms:play-services-wearable:+'
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.android.support:recyclerview-v7:23.0.0'
compile 'com.android.support:support-v13:23.0.+'
compile 'com.firebase:firebase-client-android:2.2.4+'
}

我的问题是,我的 un-used 依赖项之一使用的是 sdk-23 版本。因此,在删除那些 un-used 依赖项后,它就像一个魅力。