将 Android Studio 从 2.3 更新到 3.0 后无法解析符号 '?attr/actionBarSize' for buildToolsVersion '26.0.2'

Cannot resolve symbol '?attr/actionBarSize' after updating Android Studio from 2.3 to 3.0 for buildToolsVersion '26.0.2'

将 Android Studio 从 2.3 更新到 3.0 后,我将 buildToolsVersion 从 26.0.0 更改为 26.0.2,之后我收到此错误:

Cannot resolve symbol '?attr/actionBarSize

Xml代码:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorPrimary"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    app:titleTextColor="@android:color/white"/>

依赖关系:

compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:design:26.1.0'

将所有库版本更新为 26.1.0(最新版本)并添加:

compile 'com.android.support:support-v4:26.1.0'

如果您使用的是 Android Studio 3.0.0 及更高版本,请使用

implementation 'com.android.support:support-v4:26.1.0'

同步您的项目,错误将自动解决,因为 ?attr/actionBarSizev4 库的一部分。

尝试将此添加到您的 build.gradle(app) 依赖项中:

resolutionStrategy {
    force libraries.support.appCompat
    force libraries.support.design
    force 'com.android.support:support-utils:26.0.1'
    force 'com.android.support:support-compat:26.0.1'
}

这就是我为解决完全相同的问题所做的工作。 1. 进入 SDK 管理器。 2.检查Android API 27和Android 8.0(奥利奥) 3. 点击"Apply"下载并安装这些SDK 4. 在 build.gradle 中,将 'buildToolsVersion "26.0.1"' 更改为 'buildToolsVersion "26.0.2"' 并执行 gradle 同步。

希望这可以帮助解决您的问题。

您的 buildToolsVersion 版本与依赖项中的版本不同 (例如 buildToolsVersion 是 27.0.0 但实现 'com.android.support:support-v4:27.0.1')。使它们相同。

美好的一天,我知道这有点晚了。

但是我也遇到过这个,当我更新到 Android Studio 3.0

我所做的就是我改变了

compile 'com.android.support:support-v4:26.1.0'

implementation 'com.android.support:support-v4:26.1.0'

希望对大家有所帮助。

没有任何帮助,但改变了:

?attr/actionBarSize?android:attr/actionBarSize 完成了工作。

这实际上是少数版本中的错误。即使您不修复它,Android 也会在运行时自动修复它。

我的问题通过将 compileSdkVersiontargetSdkVersion26 更改为最新版本 27 解决了,您还需要将 dependencies 升级到 27.

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com......"
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

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

希望这也能解决你的问题:)

这有效。

我已将编译和支持库版本从 26.x.x 更新到 27.x.x。

可能您升级了gradle的版本。 当我的gradle版本是4.4,插件版本是3.1时。1.It没问题。

在项目目录层次结构中将"Android"切换为"Project"。 然后删除一个文件夹“.idea/libraries”,只有"libraries"。 Select 菜单中的选项 "File -> Invalidate Caches / Restart... -> Invalidate and Restart"。

这项工作:

删除$HOME/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar

中的所有文件

将所有 Support Library 版本更改为最新的 27.1.1,错误消失了。

请替换 android 支持库。

来自

27.1.1

28.0.0-alpha3

并在以下情况下将 27 替换为 28:

compileSdkVersion 28
buildToolsVersion "28.0.0"
targetSdkVersion 28

这将解决问题。

我尝试了这里的所有答案以及来自很多地方的许多其他答案,但只有以下技术对我有用。 简单的方法是你只需要 close 项目然后 importGradle 项目 相同的项目 或者您可以转到项目结构 -> 项目 -> 更改 Gradel 插件 = 4.4 和 Android 插件版本 = 3.1.4。 以上两种方法都有效。

注意:这些版本(4.4,3.1.4)是最新的,当我写这个答案时请使用最新版本而不是这些。

同样的问题,如果您使用 AndroidX 添加:

implementation 'androidx.legacy:legacy-support-v4:1.0.0'

R.attr.actionBarSize 更改为 androidx.appcompat.R.attr.actionBarSize