【问题标题】:Cannot resolve symbol 'AppCompatActivity'无法解析符号“AppCompatActivity”
【发布时间】:2015-05-25 19:57:32
【问题描述】:

我刚刚尝试使用 Android Studio。我创建了空白项目并尝试创建扩展AppCompatActivityActivity。不幸的是Android Studio“说”它

无法解析符号“AppCompatActivity”

我的“app”模块的依赖项列表中有compile "com.android.support:appcompat-v7:22.0.+",并多次重建项目。但是我只能使用ActionBarActivity。我做错了什么?

【问题讨论】:

  • 您使用的是正确的构建版本吗?你的 sdk 是最新的吗?
  • @Lingviston 你没有使用正确的版本。你应该使用com.android.support:appcompat-v7:22.1.0
  • 那个时候还没有这样的版本。
  • 但是现在有了,它解决了问题:)

标签: android android-studio gradle android-support-library android-appcompat


【解决方案1】:

这里是对其他答案的一点补充,适用于在使用正确的 lib 版本和正确的类时遇到相同错误的任何人。

当我升级到

appcompat-v7:22.1.0

其中ActionBarActivity 已弃用且为空,而AppCompatActivty 是要走的路,由于Android Studio 中的一些故障,它并没有完全适应版本更改。

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

我查看了.idea/libraries 文件夹,发现没有适合新版本库的元文件。

因此,使用旧的可靠 File->Invalidate Caches/Restart 就可以了。当您觉得 Android Studio 出了点问题时,请务必尝试此操作。 然后禁用离线模式并同步。

【讨论】:

  • 对我也不起作用,每次升级 appcompat 时都会遇到很多问题。
  • 对我来说,更新到 Android Studio 2.0 时出现此错误 - 如上所述清除缓存并重新启动效果很好!
  • 我的 compile 'com.android.support:appcompat-v7:23.3.0' 已经在我的 build.gradle 中...但仍然出现错误
  • 如果它不起作用,试试这个,对我有用:stackoverflow.com/a/36641765/3758439
  • 在 IntelliJ IDE 中相同。
【解决方案2】:

如果通过 gradle file / "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

【讨论】:

  • Ty 进行修复!另外,我想知道这里的每个用户是使用 PC 版还是 iOS 版的 Android Studio。我有一些开发者朋友在 iOS 上从来没有遇到过这些问题。我在PC上遇到了很多问题。不知道我尝试了多少次清理/重建/无效缓存...
  • Shahbaz Ali 和我用的是 Linux 版本,moujib 只评论说这个解决方案在 3.2.1 有效
【解决方案3】:

今天(4 月 22 日)您可以使用随支持库 v 22.1.0 一起发布的新 AppCompatActivity

只需改变你的依赖:

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

Here你可以找到更多关于这个新课程的信息。

【讨论】:

  • hmm 我正在使用更高版本但仍然遇到问题compile 'com.android.support:appcompat-v7:23.1.1'
【解决方案4】:

太简单了。这里是你需要遵循的步骤

1-退出 Android 工作室。

2-转到您的项目目录。

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

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

5)-重启你的安卓工作室。 你的问题就解决了。

【讨论】:

  • 我永远不会删除该文件夹以防万一出现严重错误。只需重命名它就足够了。在最坏的情况下,没有重新生成库文件夹,您可以返回并恢复“库”文件夹的原始名称。在一切正常后,您可以返回并删除您重命名的文件夹。如果您的工作室已损坏,它可能无法重新生成文件夹 - 删除文件时请务必小心。
  • 这为我修好了。
【解决方案5】:

我通过转到build.gradle 文件和依赖项appcompat 来修复它,比如编译'com.android.support:appcompat-v7:XX.X.X'

改成编译'com.android.support:appcompat-v7:XX.X.+'

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

【讨论】:

  • +1,天哪,这对我有用。 :) 顺便说一句,+ 标志是 Hey Gradle,如果同一版本的任何新版本可供您自己使用 :)。我正在使用com.android.support:appcompat-v7:25.3.1 现在这起到了作用:com.android.support:appcompat-v7:25.3.+ 虽然 AS 给了我警告:避免在版本号中使用 +;可能导致不可预测和不可重复的构建 (com.android.support:appcompat-v7:25.3.+)
【解决方案6】:

还要检查拼写错误,当我实际输入 AppCompactActivity 而不是 AppCompatActivity 时,我浪费了一整天的时间寻找解决方案

【讨论】:

    【解决方案7】:

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

    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) 解决了问题。
    可能只是指向新的本地分发位置也可以。

    【讨论】:

      【解决方案8】:

      无法解决符号 AppCompatActivity 问题。

      执行简单的步骤来解决问题。

      i) 退出 Android 工作室。

      ii) 转到您的项目目录。

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

      iv) 删除 .idea 文件夹。

      v) 重启你的安卓工作室。

      vi) 问题将得到解决。

      【讨论】:

      • 如果您进入 .idea 文件夹并将“libraries”文件夹重命名为不同的名称,这个技巧同样有效。如果出现严重错误,您只需返回并将库文件夹重命名为原始名称并尝试其他操作,而不是尝试恢复整个 .idea 文件夹。
      【解决方案9】:

      当您在 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;
      

      完成

      【讨论】:

        【解决方案10】:

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

        它对我有用。

        【讨论】:

          【解决方案11】:

          这真是太疯狂了,我尝试了一切,与 Gradle 文件同步,无效并重新启动了 android studio。问题仍然存在。最后的手段是删除 .idea/libraries 文件夹,它起到了魅力。

          【讨论】:

            【解决方案12】:

            您可以使用新的 AppCompatActivity appcompat-v7:22.1.+ 只需将其添加到您的 gradle 中:

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

            【讨论】:

              【解决方案13】:

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

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

              希望对你有帮助...:)

              【讨论】:

                【解决方案14】:

                所以我的同事推了他们的local.properties,这破坏了一切。我从另一个应用程序复制了我的 sdk 路径并做了:

                File -> Sync Project with Gradle Files
                

                【讨论】:

                  【解决方案15】:

                  在 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 并将此项目的 SDK 指向新的 1.7 Java SDK,方法是转到文件 -> 项目结构 -> JDK 位置

                  4) 重启 Android Studio

                  希望对你有所帮助

                  【讨论】:

                    【解决方案16】:

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

                    import android.support.v7.app.AppCompatActivity; 
                    

                    【讨论】:

                      【解决方案17】:

                      以下都没有解决我的问题

                      • 重启安卓
                      • 文件 >> 使用 Gradle 文件同步项目
                      • 构建 >> 清理项目
                      • 构建 >> 重建项目
                      • 文件 >> 使缓存无效/重新启动

                      相反,我通过将 appcompat 和设计依赖项的版本更新到最新版本来解决它 为此:转到 build.grade (Module:app) >> 依赖项部分,然后在 appcompat 和设计依赖项上点击 ALT + ENTER 然后选择显示的版本我的情况是 24.2.1 如图所示

                      【讨论】:

                        【解决方案18】:

                        我将 Gradle 2.3.3 更新到 4.4,但在 AppCompatActivity 和 Cardview 上出现错误。我尝试使用干净的项目和重建项目。它不起作用,然后我转到 Project Folder -> .idea -> 创建 libraries 文件夹的备份并将其删除 -> 然后重建项目解决了我的问题。

                        【讨论】:

                          【解决方案19】:

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

                          构建->清理

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

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

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

                          .idea

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

                          【讨论】:

                            【解决方案20】:

                            升级到最新的支持库后,我必须升级到最新的Android studio(beta)版本和gradle版本,然后IDE才能再次识别AppCompatActivity(无效缓存和重启没有成功)

                            【讨论】:

                              【解决方案21】:

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

                              按照下面的示例进行操作。

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

                              【讨论】:

                              • 我使用 :22.0.0 并找不到 AppCompatActivity 类。我必须至少将其设置为22.1.0。谢谢。
                              【解决方案22】:

                              简单的方式

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

                              错误消失了!

                              之前

                              之后

                              【讨论】:

                                【解决方案23】:

                                我解决了它添加:

                                import androidx.appcompat.app.AppCompatActivity;

                                在主 .java 文件的“导入”区域中。它对我有用。

                                希望对你有帮助!

                                【讨论】:

                                  【解决方案24】:

                                  您只需通过添加一些依赖项来对 Gradle 应用程序文件进行一些更改

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

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

                                  【讨论】:

                                    【解决方案25】:

                                    我刚刚将我的 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 文件中。

                                    【讨论】:

                                      【解决方案26】:

                                      如果无效缓存没有帮助,只需关闭项目然后重新打开它。步骤:

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

                                      【讨论】:

                                        【解决方案27】:

                                        发生这种情况是由于以下原因之一:

                                        1. 您没有安装 SDK API(这是我的问题)
                                        2. 您的项目/Android Studio 不知道所需文件在哪里
                                        3. 您的项目引用了不支持 AppCompatActivity 的过时编译版本
                                        4. 有错别字

                                        可能的解决方案:

                                        1. 检查您的 .gradle 文件以确保您没有引用过时的版本。 AppCompatActivity 是在 25.1.0 版本中添加的,属于 Maven 神器 com.android.support:appcompat-v7:28.0.0-alpha1,所以不要使用比这更早的任何版本。在您的 build.gradle (Module: app) 文件中,您应该列出依赖项:

                                          依赖{ 编译'com.android.support:appcompat-v7:25.1.0' }

                                          您可能使用的是不同的版本,但请确保您已列出 依赖。

                                        2. 打开 SDK 管理器并下载每个 API 7 或更高版本。如果您缺少所需的 API,它将解决该问题,并且下载所有较新的 API 也可以在以后为您省去一些麻烦。

                                        3. 检查导入语句中的拼写错误。确保它没有显示“AppCompactActivity”而不是“AppCompatActivity”。
                                        4. 重新同步您的项目(文件>将项目与 Gradle 文件同步)
                                        5. 重建您的项目(构建>重建)
                                        6. 清理您的项目(构建>清理项目)
                                        7. 关闭并重启 Android Studio
                                        8. 更新 Android Studio
                                        9. 重新生成您的库文件夹 - 在 Android Studio 中,在项目视图中查看您的文件。找到文件夹 YourProjectName >.idea >libraries。将文件夹重命名为“libraries_delete_me”。关闭并重新打开 Android Studio。再次打开您的项目,应使用所有文件重新生成库文件夹;您现在可以删除“libraries_delete_me”文件夹。

                                        【讨论】:

                                          【解决方案28】:

                                          对我来说,当我更新 Gradle 构建版本时,问题就解决了。不知道为什么?

                                          【讨论】:

                                            【解决方案29】:

                                            我会告诉你我是如何在 Eclipse 中解决这个问题的。 从此链接下载 zip 文件。https://github.com/dandar3/android-support-v7-appcompat 然后解压该文件,打开项目,在 lib 文件夹中您将看到一个名为“android-support-v7-appcompat”的 jar 文件,将此 jar 文件添加到您的项目中。而已。

                                            【讨论】:

                                              【解决方案30】:

                                              这可能是在应用级别gradle中的版本差异检查一次然后重新构建

                                              【讨论】:

                                                猜你喜欢
                                                • 2018-11-11
                                                • 2016-12-31
                                                • 2018-08-30
                                                • 1970-01-01
                                                • 2015-08-28
                                                • 2016-04-29
                                                • 1970-01-01
                                                相关资源
                                                最近更新 更多