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"/>

Dependencies:

compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:design:26.1.0'
34437 次浏览

将所有库版本更新到 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'
}

This is what I did to fix exactly the same problem. 1. 转到 SDK 经理。 2. 检查 Android API 27和 Android 8.0(Oreo) 3. 点击“应用”下载并安装这些 SDK 4. 在 build.gradle 中,将“ buildToolsVersion“26.0.1”更改为“ buildToolsVersion“26.0.2””,并执行分级同步。

希望这能帮你解决问题。

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完成了任务。

这实际上是几个版本中的一个 bug,即使你不修复它,Android 也会在运行时自动修复它。

我的问题解决了通过改变 compileSdkVersiontargetSdkVersion26到最后的版本 27,也需要升级您的 dependencies27

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'
}

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

成功了。

我已经将编译和支持 lib 版本从26.x.x 更新为27.x.x。

也许你已经升级了“分级”的版本。 when my gradle version is 4.4 and plugin version is 3.1.1.It is ok.

enter image description here

在项目目录层次结构中,将“ Android”切换到“ Project”。 然后删除一个文件夹“ . idea/library”,只删除“ library”。 从菜单中选择一个选项“文件-> 无效缓存/重新启动...-> 无效和重新启动”。

这项工作:

删除 $HOME/. gradle/cache/transforms-1/files-1.1/appcompat-v7-27.1.1. aar 中的所有文件

将所有 支援图书馆版本更改为最新的 27.1.1,错误消失。

please replace android support libraries.

来自

27.1.1

28.0.0-alpha3

以下个案则改为27至28:

compileSdkVersion 28
buildToolsVersion "28.0.0"
targetSdkVersion 28

这能解决问题。

我在这里尝试了所有的答案,也尝试了许多其他地方的答案,但只有下面的方法对我有效。 简单的方法是你只需要 关闭的项目,然后 < em > import 作为一个 Gradle project相同的项目 或者你可以点击 Project struct-> Project-> change Gradel plugin = 4.4 and Android plugin version = 3.1.4。 上述两种方法都有效。

Note: These versions(4.4, 3.1.4) are latest when I write this answer please use the latest version instead of these.

这里也有同样的问题,如果你使用 AndroidX,添加以下内容:

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

Change R.attr.actionBarSize to androidx.appcompat.R.attr.actionBarSize.