无法解析符号AppCompatActivity - 无法识别支持v7库?

问题描述 投票:52回答:15

我试图找出为什么我的Android工作室没有正确识别AppCompat v7库。下面的import语句显示为灰色,并表示没有support.v7.app的包。以下是我的活动文件:

import android.support.v7.app.AppCompatActivity;


public class XApplicationActivity extends AppCompatActivity

我的build.grade:

compile "com.android.support:appcompat-v7:22.0.0"
compile "com.android.support:support-annotations:$ANDROID_SUPPORT_VERSION"
compile "com.android.support:support-v4:$ANDROID_SUPPORT_VERSION"

我的项目设置:

minSdkVersion = 14
targetSdkVersion = 21
compileSdkVersion = 21
buildToolsVersion = "22.0.1"

所以我真的很困惑为什么这仍然给我带来问题。我已经尝试过的事情:

  • 清理/重建项目
  • 使缓存无效并重新启动
  • 检查十亿次以确保我安装了支持库(我绝对安装了最新的支持库和库)

有谁知道任何修复?这花了我很多时间,这真的令人沮丧。

android android-support-library android-appcompat android-library
15个回答
95
投票

对我来说,即使升级到appcompat-v7:22.1.0,其中添加了AppCompatActivty,问题仍未解决,Android Studio也出现同样的问题

无法解析符号'AppCompatActivity'

有时清除android studio缓存有帮助。

在android studio中,我刚刚清除了缓存,并使用以下选项重新启动 -

文件 - >使高速缓存/重新启动无效


1
投票

如果你使用androidX而不是android,你需要改变

import android.support.v7.app.AppCompatActivity;

import androidx.appcompat.app.AppCompatActivity;

并改变

<android.support.constraint.ConstraintLayout>

<androidx.constraintlayout.widget.ConstraintLayout>

0
投票

删除项目中隐藏文件夹的.idea文件夹。转到系统中的项目并单击ctrl + H它将可见,然后将其删除。现在重新启动你的android studio.I将解决。它为我工作。


0
投票

背景资料:

我的IDE

Android Studio 3.1.3
Build #AI-173.4819257, built on June 4, 2018
JRE: 1.8.0_152-release-1024-b02 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 7 6.1

第一个解决方案:再次导入项目,不同意升级android gradle插件。

第二种解决方案:您的文件应包含这些片段。

的build.gradle:

buildscript {
  repositories {
    jcenter()
    google()//this is important for gradle 4.1 and above
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:3.1.3' //this android plugin for gradle requires gradle version 4.4 and above
  }
}
allprojects {
  //...
  repositories {
    jcenter()
    google()//This was not added by update IDE-wizard-button.
    //I need this when using the latest com.android.support:appcompat-v7:25.4.0 in app/build.gradle
  }
}

按照IDE的建议将gradle版本升级到4.4或考虑在gradle / wrapper / gradle-wrapper.properties中使用它

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

Optional在app / build.gradle中更改buildToolsVersion:

android {
compileSdkVersion 25
buildToolsVersion '27.0.3'

app / build.gradle:注释掉依赖项并让构建失败(自动或触发)

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

app / build.gradle:再次在依赖项中注释。建议将它们从编译更改为实现,但现在只是一个警告问题。

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

项目重建后,import语句不应再显示为灰色;尝试在类上调用Ctrl + h。但由于某种原因,这些类引用语句中的错误标记仍然存在。要摆脱它们,我们需要隐藏和恢复项目树视图,或者关闭并重新打开项目。

最后就是这样。

进一步阅读:

Update Gradle

Use the new dependency configurations

如果您更喜欢我的解决方案的图片踪迹,您可以访问我的blog


0
投票

我在新开始的mi项目中遇到了同样的问题。 api 23,最后我在gradle依赖文件中添加了这些代码行,它解决了错误:)

 implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:customtabs:28.0.0'
implementation 'com.android.support:support-vector-drawable:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'

0
投票

如果你已经尝试过

  1. 使缓存无效并重新启动
  2. 清理/重建项目
  3. ./gradlew清洁组装
  4. 增加了实施 “com.android.support:support-v4:23.1.1” “com.android.support:appcompat-v7:23.1.1” “com.android.support:support-annotations:23.1.1”
  5. 更正导入到android.support.v7.app.AppCompatActivity;
  6. 更正了任何现有的androidx导入

仍面临问题,请阅读以下内容

Finally found the solution

我尝试了所有答案中提到的所有内容并且失败了。

转到gradle.properties使这些标志为false

android.useAndroidX = FALSE

//自动转换第三方库以使用AndroidX

android.enableJetifier = FALSE

上面的标志是

“是的,对我来说因此gradle不会下载v7组件”


0
投票

File-> Invalidate Caches / Restart对我有用。


31
投票

1.删​​除.idea文件夹 2.关闭并重新打开项目 3.文件 - >使用Gradle文件同步项目

这对我有用


21
投票

AppCompatActivity仅在支持库的22.1.0版中添加。之前它被称为ActionBarActivity。

您应该为所有支持库使用相同的版本。在撰写本文时,最新版本为23.1.1(您可以在这里找到最新的https://developer.android.com/tools/support-library/index.html#revisions),因此gradle文件的依赖项部分应该如下所示。

implementation "com.android.support:support-v4:23.1.1"
implementation "com.android.support:appcompat-v7:23.1.1"
implementation "com.android.support:support-annotations:23.1.1"

17
投票

好吧,我通过重建它来修复它来进行第四次./gradlew清洁组装... Android Studio是一个奇怪的事情


15
投票

我们不需要删除文件,只需使缓存无效以重新启动配置:

introducir la descripción de la imagen aquí


6
投票

我遵循的解决方案总结如下:

  1. 从“生成”菜单中,选择“编辑库”和“依赖关系”

enter image description here

  1. 如果没有添加,请确保添加最新的AppCompat包

enter image description here

enter image description here

  1. 添加后,清理项目并重建它。

enter image description here


5
投票

我从“...扩展ActionBarActivity”更改为“...扩展AppCompatActivity”并尝试清理,重新启动,使高速缓存/重新启动无效并且无法到达任何地方。我的所有版本都是最新版本。

最终解决它的是确保我的导入是正确的:

import android.support.v7.app.AppCompatActivity;

出于某种原因,它没有像我以前那样自动设置,我不得不手动添加它。

希望有人帮助!


3
投票

我得到了同样的确切错误以防万一它帮助其他人..记录哪些对我有用的最新(2017年1月14日)最新的一切。尝试了所有的Invalidate,构建干净,甚至删除.gradle /,调整支持库等。在多个堆栈溢出答案。

我发现升级settings.gradle gradle版本修复了它(它是2.1.3)gradle工具链中的东西似乎是classpath'com.android.tools.build:grad:2.2.3'


2
投票

最好的解决方案肯定是转到File> Invalidate Caches和Restart

然后在对话框菜单中...单击“使高速缓存无效并重新启动”。等一下,或者重置项目需要多长时间,那么你应该做得很好。

--

我应该注意到,我还遇到了引用资源文件或“R”文件的问题,该文件位于我在gradle中的compileOnly库中。 (即compileOnly库> res>引用的xml文件)我停止在我的Java代码中引用这个文件,它帮助了我。所以要小心你引用文件的位置。

© www.soinside.com 2019 - 2024. All rights reserved.