我一直用Eclipse编程Android,并决定开始迁移到AndroidStudio。我决定使用与Eclipse相同的SDK,然后:

开始新项目设置最低SDK 4.0(API级别14)选择空白活动选项活动名称和布局名称使用的默认名称点击完成

几秒钟后,Gradle完成了构建,并在文件Teste4\app\build\intermediates/deblodded aar\com.android.support\appcompat-v7\23.0.0\res\values-v23\values-v23.xml中向我抛出了两个错误,其中包含以下消息:

错误:(2)检索项的父项时出错:找不到与给定名称“android:TextAppearance.Material.Widget.Button.Inverse”匹配的资源。错误:(2)检索项的父项时出错:找不到与给定名称“android:Widget.Material.Button.Colored”匹配的资源。

在文件->项目结构->模块:app(左列)->财产选项卡下,我设置了以下版本:

“编译Sdk版本”:Android 5.1(API级别22)“生成工具版本”:23.0.2

我应该怎么做才能解决这个问题?

我已经尝试了堆栈溢出问题appcompat-v7:21.0.0中的建议:没有找到与给定名称匹配的资源:attr“android:actionModeShareDrawable”,但它不起作用。


当前回答

这是因为Android Studio在更新后默认使用API版本23。

以下内容对我有用:

按Ctrl+Shift+Alt+S进入项目结构页面。转到财产选项卡,在构建工具区域中将23.0.0更改为22.0.1(或与之前使用的等效值),然后重新生成项目。

如果这不起作用,请转到gradle:app,然后

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

如上所示,编辑v7:23.0.0至v7:22.2.1,并同步渐变。这肯定会奏效的。

其他回答

我想从API 23降级到22,但遇到了这个错误。为了编译,我必须更改项目中的所有build.gradle文件。

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.yourapp.app"
        minSdkVersion 14
        targetSdkVersion 22
    }
...
dependencies {
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.android.support:support-v4:22.2.1'
    compile 'com.android.support:design:22.2.1'
    compile 'com.google.android.gms:play-services-gcm:10.0.1'
}

如果您在下载最新的SDK和Android Studio后仍出现错误,请看我的操作:

下载最新的SDK打开文件项目结构(Ctrl+Alt+Shift+S)在模块中,选择应用程序在财产选项卡中:将编译SDK版本更改为API 23 Android 6.0棉花糖(最新)

我希望这对某人有所帮助,这样他就不会像我这几天那样受苦了。

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.1'

defaultConfig {
    applicationId ""
    minSdkVersion 14
    targetSdkVersion 22
    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.google.code.gson:gson:2.3.1'
compile 'com.android.support:recyclerview-v7:23.0.0'
compile 'com.android.support:appcompat-v7:23.0.1'
}

正如其他人已经提到的,您的编译sdk版本必须与支持库的主要版本相匹配。然而,如果您有子项目,这也与子项目相关。

如果需要,可以使用以下脚本设置子项目编译sdk版本:

subprojects { subproject ->
afterEvaluate{
    if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
        android {
            compileSdkVersion rootProject.ext.compileSdkVersion
            buildToolsVersion rootProject.ext.buildToolsVersion
        }
      }
   }
}

将此脚本添加到根build.gradle文件中。

升级Android Studio。

我在Android Studio 1.3.1中遇到了这个问题,其他答案都不适合我,但在更新到1.5.1之后没有任何问题。