无法解析符号“ AppCompatActivity”


212

我刚刚尝试使用Android Studio。我已经创建了一个空白项目,并尝试创建Activity一个extends AppCompatActivity。不幸的是,Android Studio“说”它

无法解析符号“ AppCompatActivity”

compile "com.android.support:appcompat-v7:22.0.+"在“应用程序”模块的依存关系列表中,并多次重建了项目。但是我只能使用ActionBarActivity。我究竟做错了什么?


您使用的是正确的版本吗?您的SDK是最新的吗?
鬼语者

5
@Lingviston您使用的不是正确的版本。您应该使用com.android.support:appcompat-v7:22.1.0
damson

2
好吧,那个时候没有这样的版本。
Lingviston

但是现在有了,它解决了问题:)
JY2k

Answers:


350

对于在使用正确的lib版本和正确的类时出现相同错误的任何人,这里还有其他答案。

当我升级到

appcompat-v7:22.1.0

在其ActionBarActivity已被废弃,空的,AppCompatActivty是去,由于Android Studio中的一些小故障的方式,它并没有完全回暖的版本变化。

即,即使Gradle运行没有错误,IDE本身仍在说 Cannot resolve symbol 'AppCompatActivity'(并且它也无法通过Ctrl+N搜索获得)

我查看了该.idea/libraries文件夹,发现没有适用于新版本lib的适当的图元文件。

因此,使用旧的可靠File-> Invalidate Caches / Restart可以解决问题。如果您觉得Android Studio出了奇妙的错误,请务必尝试执行此操作。然后禁用离线模式并同步。


2
这对我也不起作用,每次升级appcompat时,我都会遇到很多问题。
3c71

对我来说,更新至Android Studio 2.0时会弹出此错误-如上所述,清除缓存并重新启动非常有效!
ColossalChris

compile 'com.android.support:appcompat-v7:23.3.0'已经进入我的build.gradle
行列,

3
如果它不起作用,请尝试以下一项对我
George

在IntelliJ IDE中也是如此。
A-Sharabiani '18

163

如果通过gradle文件/“ Invalidate caches”和其他IDE工具执行的软方法不起作用,请使用硬方法:

  1. 退出Android Studio
  2. 在您的项目中导航到该.idea文件夹
  3. 只是重命名libraries文件夹
  4. 重新启动Android Studio。现在,它应该重新创建该libraries文件夹并再次运行。

这对我有用

Android Studio 3.1.2
Build #AI-173.4720617, built on April 13, 2018
JRE: 1.8.0_152-release-1024-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.13.0-38-generic

Shahbaz Ali确认,它也可用于

Android Studio 3.1.3
Build #AI-173.4819257, built on June 4, 2018
JRE: 1.8.0_152-release-1024-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.13.0-38-generic

moujib确认,它可以在Android Studio 3.2.1上运行


泰为修复!另外,我想知道这里的每个用户是否正在使用PC版本或iOS版本的Android Studio。我有一些开发人员朋友,他们在iOS上从未遇到过这些问题。我在PC上遇到了很多问题。不知道我尝试了多少次来清理/重建/使缓存无效...

Shahbaz Ali和我使用的是Linux版本,moujib仅评论说该解决方案在3.2.1中有效
DBX12 '19

70

今天(4月22日),您可以使用AppCompatActivity支持库v 22.1.0发行的新版本。

只需更改您的依赖关系:

compile "com.android.support:appcompat-v7:22.1.0"

在这里您可以找到有关此新类的更多信息。


7
嗯,我使用的是更高版本,但仍然遇到问题compile 'com.android.support:appcompat-v7:23.1.1'
相信

31

太简单了,这里是您需要遵循的步骤

1-退出Android Studio。

2-转到您的项目目录。

3-在我的情况下是这样的(F> Android-> YourProjectName->。idea)。

4)-删除.idea文件夹中的libraries文件夹。

5)-重新启动您的android studio。这样您的问题就解决了。


万一出了什么问题,我绝对不会删除该文件夹。简单地重命名就足够了。在最坏的情况下,不会重新生成library文件夹,您可以返回并还原“ libraries”文件夹的原始名称。一切正常后,您可以返回并删除重命名的文件夹。如果您的工作室已损坏,则可能无法重新生成文件夹-删除文件时请务必小心。

28

我通过将其固定到build.gradle文件中并通过依赖来解决appcompat它,例如编译'com.android.support:appcompat-v7:XX.X.X'

更改为可编译 'com.android.support:appcompat-v7:XX.X.+'

然后单击同步。如果代码中的其他所有内容均正确,则所有红色的波浪线都应消失。


7
+1,天哪,这对我有用。:)顺便说一句,如果有相同发行版的任何新版本+可用,该符号表示Hey Gradle:)。我com.android.support:appcompat-v7:25.3.1现在使用的是一个技巧:com.android.support:appcompat-v7:25.3.+尽管AS给了我警告:避免在版本号中使用+;可能会导致无法预测且无法
复制的

13

也要检查错别字,当我实际上键入AppCompactActivity而不是AppCompatActivity时,我浪费了整整一天的时间寻找解决方案


13

Cannot resolve symbol在将Android Studio从2.2.3更新到2.3,将Android Gradle插件更新到2.3.0,并将Gradle更新到3.3之后,出现了AppCompatActivity和其他许多类和方法的错误。

File -> Invalidate Caches / Restart 无法解决问题。

Preferences -> Build, Execution, Deployment -> Gradle显示Use local gradle distribution使用Gradle主页:/ Applications / Android Studio.app/Contents/gradle/gradle-2.14.1选择,并且显示警告说gradle位置不正确

通过选择解决问题Use default gradle wrapper (recommended)
也许仅指向新的本地分发位置也可以。


11

无法解决符号AppCompatActivity问题。

执行简单步骤即可解决问题。

i)退出Android Studio。

ii)转到您的项目目录。

iii)在项目目录中找到.idea文件夹。

iv)删除.idea文件夹。

v)重新启动您的android studio。

vi)问题将得到解决。


如果进入.idea文件夹,然后将“ libraries”文件夹重命名为其他名称,则该技巧也有效。如果出了什么大问题,您只需要返回并将Librarys文件夹重命名为其原始名称,然后再尝试其他操作,而不必尝试还原整个.idea文件夹。

8

试试这个。在Android Studio中,将依赖项放入build.gradle中。转到构建->清理项目。

它为我工作。


7

那真是太疯狂了,我尝试了一切,与Gradle文件同步,使Android Studio无效并重新启动。问题仍然存在。不得已的方法是删除.idea / libraries文件夹,它起了魅力。



6

对我来说,当我将appcompact v7更新到最新版本时,该问题已解决。

编译'com.android.support:appcompat-v7:25.3.0'

希望能帮助到你...:)


6

所以我的同事推了他们的local.properties东西,这打破了一切。我从另一个应用程序复制了sdk路径,然后执行了以下操作:

File -> Sync Project with Gradle Files

5

在Mac OS X Yosemite机器上开发时,Android SDK 23遇到了同样的问题。原来,我没有Java SDK 7。

安装Java SDK 7并将SDK从Android Studio指向新的SDK之后,一切都对我有效。

这是我遵循的步骤:

1)关闭Android SDK

2)从http://www.oracle.com/technetwork/java/javase/downloads/index.html安装适用于Mac OS X的Java SDK

3)启动Android SDK,然后转到文件->项目结构-> JDK位置,将此项目的SDK指向新的1.7 Java SDK。

4)重新启动Android Studio

希望有帮助


3

记住按Alt+ Enter或添加导入。

import android.support.v7.app.AppCompatActivity; 

3

下面没有解决我的问题

  • 重新启动Android
  • 文件>>与Gradle文件同步的项目
  • 建造>>清洁项目
  • 构建>>重建项目
  • 文件>>使缓存无效/重新启动

相反,我通过将appcompat&设计依赖项的版本更新为最新版本来解决此问题,方法是:转到build.grade(Module:app) >>依赖项部分,然后 在appcompat&设计依赖项上均按ALT + ENTER,然后选择在我的情况下,显示的版本为24.2.1,如图所示 在此处输入图片说明


3

我将Gradle 2.3.3更新为4.4,并在AppCompatActivity和Cardview上收到错误。我尝试过清洁项目并重建项目。它不起作用,然后我转到项目文件夹 -> .idea- >创建文件夹的备份并将其删除->然后重新构建解决了我问题的项目


3

让我们一步一步走:首先使用清理项目

构建->清洁

如果这没有帮助,请使用第二步

文件>使缓存无效/重新启动...

但是,当上述所有选项都不起作用时,真正的问题就开始了,因此,使用您的最终解决方案是关闭项目并转到项目位置目录并删除

。理念

您现在可以再次打开您的项目。


2

升级到最新的支持库后,我必须先升级到最新的Android Studio(测试版)和gradle版本,然后IDE才能再次识别AppCompatActivity(使缓存无效并重新启动并不能解决问题)


2

在项目构建.gradle中添加此依赖项。

请按照以下示例。

dependencies {

    compile 'com.android.support:appcompat-v7:22.1.0'
}

我使用:22.0.0但找不到AppCompatActivity课程。我必须至少将它设置为22.1.0。谢谢。
haxpor

2

简易方式

  • 打开应用程序级别build.gradle并删除appcompact-v7依赖性和同步。
  • 再次添加依赖项并同步。

错误不见了!

之前

之前

后


2

当您在Gradle.properties文件中添加AndroidX支持时

android.useAndroidX=true
android.enableJetifier=true

如果您使用的Gradle版本高于3.2,则常规的Appcompat依赖关系,例如

implementation 'com.android.support:appcompat-v7:27.1.1

不会工作。将此依赖项替换为:

implementation 'androidx.appcompat:appcompat:1.1.0'

此外,从此更改类文件中的AppCompatActivity导入:

import android.support.v7.app.AppCompatActivity;

对此:

import androidx.appcompat.app.AppCompatActivity;

完成了


1

您只需通过添加一些依赖关系在Gradle App文件中进行一些更改

编译“ com.android.support:appcompat-v7:XX:YY:ZZ”

而XX:YY:ZZ是您在gradle文件中使用的版本代码,否则,如果将此版本设置为低于或高于使用的版本,则您的应用将面临一些问题,例如有时会崩溃


1

我只是将Android Studio从2.3.2更新到3.1.2版本。并且发生此错误。

我清理项目,重建项目,使缓存/重启无效,但没有任何效果。

我通过更新appcompat库来解决此错误

编译'com.android.support:appcompat-v7:23.4.0'

编译'com.android.support:appcompat-v7:25.1.1'

在应用程序build.gradle文件中。


1

如果使缓存无效无济于事,请关闭项目,然后重新打开它。脚步:

  • 文件>关闭项目
  • 从起始项目列表中删除项目
  • 关闭Android Studio
  • 开启Android Studio
  • 使用该项目打开现有项目



0

这可能是应用程序级别gradle中的版本差异造成的,请检查一次,然后重新构建


0

对我来说,没有一种解决方案。但是我发现我的外部库中缺少支持库中的所有库。在其他项目中,AppCompatActivity的解决也没有问题。

对我而言,它致力于创建一个新项目并将旧src文件夹的所有内容复制到新项目中。

我不知道确切的原因,但是如果没有任何效果,那将是最后的可能性。就算有人和我有同样的麻烦。


0

通过尝试软方法无法使用的方法,请使用硬方法:退出当前的Android Studio屏幕,然后将项目转到.idea文件夹。重命名librarys-> lib_pre文件夹。

重新启动Android Studio。它将重新创建库文件夹并再次正常运行。Android Studio 3.1.3

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.