我一直用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”,但它不起作用。


当前回答

您需要将compileSdkVersion设置为23。

由于API 23 Android删除了已弃用的Apache Http包,因此如果您将其用于服务器请求,则需要将useLibrary“org.Apache.Http.legage”添加到build.gradle,如下链接所示:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"
    ...

    //only if you use Apache packages
    useLibrary 'org.apache.http.legacy'
}

其他回答

正如Tanis.7x所指出的,支持库版本(23)与targetSdkVersion(22)不匹配

您可以通过执行以下操作来解决此问题:

在应用程序模块的build.grade文件中,更改以下代码行

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

To

compile 'com.android.support:appcompat-v7:22.+'

这将使用与SdkVersion 22兼容的appcompat版本的最新版本。

我也有同样的问题。我通过将每个子模块的grade.build更新到最新的编译器版本来解决问题。

如果您尝试将目标更改为以前的GooglePlayServices或AppCompatv7版本,但它不起作用,请检查您是否有任何项目库依赖关系,此项目将以这些库的最新版本为目标。我在Google Maps Utils Library项目中遇到了这种情况:

替换:

compile 'com.google.android.gms:play-services:+'

to

compile 'com.google.android.gms:play-services:8.3.0'

然后您可以继续完整的目标API 22

如果它仍然无法编译,有时将compileSdkVersion API设置为23,将targetSdkVersion设置为22会很有用。

确保所有这些都是最新的。

这是帮助我的:添加特定的android平台

应该做的是:。。。在我的案例中,它是cordova,但同样适用于ionic、phonegap和其他类似框架:

列出为项目安装的所有平台:cordova平台列表。你会看到这样的情况:

移除android平台:cordova平台移除android。然后添加特定的android平台:cordova平台添加android@5.0.0.

祝你好运!:)