繁体   English   中英

无法解析符号“AppCompatActivity”

[英]Cannot resolve symbol 'AppCompatActivity'

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

无法解析符号“AppCompatActivity”

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

对于在使用正确的 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 出了点问题时,请务必尝试此操作。 然后禁用离线模式并同步。

如果通过 gradle file / "Invalidate caches" 和其他 IDE 工具的软方法不起作用,请使用硬方法:

  1. 退出 Android Studio
  2. 在您的项目中导航到.idea文件夹
  3. 只需重命名libraries文件夹
  4. 重启安卓工作室。 它现在应该重新创建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

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

只需更改您的依赖项:

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

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

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

1-退出安卓工作室。

2-转到您的项目目录。

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

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

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

我通过 Going to build.gradle文件和依赖appcompat来修复它,比如 compile 'com.android.support:appcompat-v7:XX.X.X'

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

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

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

在将 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 selected with Gradle home: /Applications/Android Studio.app/Contents/gradle/gradle-2.14.1 并显示警告说 gradle location is wrong

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

无法解决符号 AppCompatActivity 问题。

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

i) 退出 Android 工作室。

ii) 转到您的项目目录。

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

iv) 删除.idea文件夹。

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

vi) 问题将得到解决。

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

android.useAndroidX=true
android.enableJetifier=true

如果您使用大于 3.2 的 Gradle 版本,则传统的 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;

完毕

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

它对我有用。

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

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

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

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

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

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

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

File -> Sync Project with Gradle Files

在 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,方法是转到 File -> Project Structure -> JDK Location

4)重启Android Studio

希望这有帮助

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

import android.support.v7.app.AppCompatActivity; 

以下都没有解决我的问题

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

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

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

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

构建->清理

如果这没有帮助,那么使用你的第二步

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

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

。主意

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

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

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

请按照以下示例进行操作。

dependencies {

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

易道

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

错误消失了!

前

后

我解决了它添加:

import androidx.appcompat.app.AppCompatActivity;

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

希望能帮助到你!

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

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

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

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

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

  • 文件 > 关闭项目
  • 将项目从启动项目列表中删除
  • 关闭 Android Studio
  • 打开安卓工作室
  • 使用此项目打开现有项目

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

  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”文件夹。

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

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

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

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

对我来说,它创建了一个新项目并将旧 src 文件夹的所有内容复制到新项目中。

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

通过尝试它不会起作用的软方式,使用硬方式:退出当前 Android Studio 屏幕并将您的项目转到 .idea 文件夹重命名 library->lib_pre 文件夹。

重新启动 Android Studio。它现在将重新创建库文件夹并再次顺利运行。 安卓工作室 3.1.3

这是我在某处找到的救生代码(抱歉不记得出处了)。 将其添加到 build.gradle (Module:app)。 您可以将版本替换为相关的。

configurations.all {

    resolutionStrategy.eachDependency { DependencyResolveDetails details -
        def requested = details.requested

 if (requested.group == 'com.android.support') {

            if (!requested.name.startsWith("multidex")) {
                details.useVersion '27.1.1'
            }
        } else if (requested.group == "com.google.android.gms") {
            details.useVersion '15.0.0'
        } else if (requested.group == "com.google.firebase") {
            details.useVersion '15.0.0'
        }
    }
}

如果所有其他方法都失败了,请确保您已添加导入语句。 我已将其删除,因为它显示错误并忘记将其添加回来,并正在尝试其他所有方法来修复:

导入android.support.v7.app.AppCompatActivity;

在尝试了所有解决方案之后,我意识到我一直在做的项目之前使用的是最新的 Android Studio,当时是 3.2,而我当前使用的电脑在更新 android studio后运行的是 2.2,这似乎完全解决了这个问题为了我。

解决方案: Android Studio -> 检查更新,然后安装最新版本

尽管我的谷歌服务使用的是 4.1.0 版本,但当我将所有依赖项都更新到 API 28 上的最新版本时,错误出现了。

当我将其更新到 4.2.0 时,我删除了该错误。

除了其他答案之外,在settings.gradle中添加下面的dependencyResolutionManagement解决了这个问题。

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}

注意:我正在将旧的 android 项目迁移到 AndroidX。 遵循此问题结束的所有强制性步骤后, Cannot resolve symbol 'AppCompatActivity' 在尝试了此处提到的所有其他解决方案后,问题仍未解决。 当检查settings.gradle并添加上面的代码解决了这个问题。

升级你的 gradle 版本来解决这个问题

转到您的项目级别 build.gradle

如果您使用的是旧的 gradle 版本,请升级到最新版本

 classpath 'com.android.tools.build:gradle:4.0.2'

gradle-wrapper.properties

将 distributionUrl 更改为最新版本

distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-bin.zip

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM