无法解析符号' AppCompatActivity'

时间:2015-03-22 21:09:38

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

我刚试过使用Android Studio。我创建了空白项目并尝试创建扩展Activity的{​​{1}}。不幸的Android Studio"说"它

  

无法解析符号' AppCompatActivity'

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

36 个答案:

答案 0 :(得分:323)

对于在使用正确的lib版本和正确的类时具有相同错误的任何人来说,这里有一点补充。

当我升级到

appcompat-v7:22.1.0

由于Android Studio中的一些小故障,ActionBarActivity已被弃用并且空AppCompatActivty是可行的方式,因此它并未完全了解版本更改。

即。即使Gradle运行没有错误,IDE本身仍然说 Cannot resolve symbol 'AppCompatActivity'(通过Ctrl+N搜索也无法提供)

我查看了.idea/libraries文件夹,注意到新版本的lib没有合适的图元文件。

因此,使用旧的可靠文件 - >无效缓存/重新启动就可以了。当你觉得Android Studio出现了神奇的错误时,请务必尝试这一点。

答案 1 :(得分:156)

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

  1. 退出Android Studio
  2. 在项目中导航到.idea文件夹
  3. 只需重命名libraries文件夹
  4. 即可
  5. 重新启动Android Studio。它现在应该重新创建libraries文件夹并再次工作。
  6. 这对我有用

    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

答案 2 :(得分:70)

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

只需改变你的依赖关系:

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

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

答案 3 :(得分:27)

我通过转到build.gradle文件并在依赖关系中修复了appcompat,例如编译'com.android.support:appcompat-v7:XX.X.X'

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

然后点击同步。如果您的代码中的其他所有内容都正确,那么所有的红色波浪线应该会出现。

答案 4 :(得分:25)

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

  

1-退出Android Studio。

     

2-转到您的项目目录。

     

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

     

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

     

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

答案 5 :(得分:13)

检查拼写错误,当我实际输入AppCompactActivity而不是AppCompatActivity时,我整天都在寻找解决方案

答案 6 :(得分:12)

我收到了AppCompatActivity的Cannot resolve symbol错误以及其他许多类&将Android Studio从2.2.3更新到2.3,将Android Gradle插件更新为2.3.0,并将Gradle更新为3.3。

File -> Invalidate Caches / Restart没有解决问题。

Preferences -> Build, Execution, Deployment -> Gradle显示已使用Gradle home选择了Use local gradle distribution:/ Applications / Android Studio.app/Contents/gradle/gradle-2.14.1并且显示一条警告,说明gradle位置不正确< / strong>即可。

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

答案 7 :(得分:10)

无法解决符号AppCompatActivity问题。

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

i)退出Android Studio。

ii)转到您的项目目录。

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

iv)删除 .idea 文件夹。

v)重新启动您的android studio。

vi)问题将得到解决。

答案 8 :(得分:8)

试试这个。在Android Studio中,将依赖项放在build.gradle中之后。 转到Build - &gt;清洁项目。

它对我有用。

答案 9 :(得分:7)

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

答案 10 :(得分:6)

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

  

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

答案 11 :(得分:6)

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

编译&#39; com.android.support:appcompat-v7:25.3.0&#39;

希望它有帮助...:)

答案 12 :(得分:5)

例如在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;

完成

答案 13 :(得分:5)

在使用Mac OS X Yosemite Machine进行开发时,我遇到了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并通过转到File - &gt;将此项目的SDK指向新的1.7 Java SDK。项目结构 - &gt; JDK位置

4)重启Android Studio

希望这个帮助

答案 14 :(得分:5)

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

File -> Sync Project with Gradle Files

答案 15 :(得分:3)

请记得按 Alt + 输入或添加导入。

puts

答案 16 :(得分:3)

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

答案 17 :(得分:3)

以下没有一个解决我的问题

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

相反,我通过将appcompat&设计依赖项的版本更新为最新版本来解决了该问题 为此,请执行以下操作:转到 build.grade(Module:app)>>依赖项部分,然后在两个appcompat&design依赖项上均按 ALT + ENTER ,然后在中选择显示的版本我的情况是24.2.1,如图所示 enter image description here

答案 18 :(得分:2)

升级到最新的支持库之后,我不得不升级到最新的Android studio(beta)版本和gradle版本,然后再次识别AppCompatActivity(无效缓存和重启没有做到这一点)

答案 19 :(得分:2)

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

请按照以下示例。

dependencies {

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

答案 20 :(得分:2)

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

Build-> Clean

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

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

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

.idea

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

答案 21 :(得分:2)

轻松的方式

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

错误消失了!

之前

before

之后

after

答案 22 :(得分:1)

我只是将我的android工作室从2.3.2更新到3.1.2版本。并发生此错误。

我清理项目,重建项目,使缓存/重启无效但无效。

我通过从

更新appcompat库来解决此错误

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

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

在app build.gradle文件中。

答案 23 :(得分:1)

您必须通过添加一些依赖性

在Gradle App文件中进行一些更改

编译&#34; com.android.support:appcompat-v7:XX:YY:ZZ&#34;

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

答案 24 :(得分:1)

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

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

答案 25 :(得分:0)

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

答案 26 :(得分:0)

我解决了这个问题:

import androidx.appcompat.app.AppCompatActivity;

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

希望有帮助!

答案 27 :(得分:0)

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

  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(模块:应用程序)文件中,您应该列出依赖项:

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

    您可能使用的是其他版本,但只需确保已列出 依赖性。

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

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

答案 28 :(得分:0)

当我将Firebase添加到项目中且所有依赖项都更新为API 28的最新版本时,出现了错误,尽管我的Google服务使用的是4.1.0版本。

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

答案 29 :(得分:0)

在尝试了所有解决方案后,我意识到我一直在从事的项目以前使用的是最新的Android Studio(当时是3.2),而在更新android studio <之后,我正在使用的当前PC正在运行2.2 < / strong>这似乎完全为我解决了这个问题。

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

答案 30 :(得分:0)

如果其他所有方法均失败,请确保已添加import语句。我已将其删除,因为它显示了错误,却忘记了将其添加回去,并尝试进行其他所有修复:

  

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

答案 31 :(得分:0)

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

答案 32 :(得分:0)

这是我在某处找到的救命代码(对不起,我不记得它的来源)。将其添加到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'
        }
    }
}

答案 33 :(得分:0)

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

答案 34 :(得分:0)

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

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

我不确切知道为什么,但如果什么都不起作用,那可能是最后一种可能性。就好像有人和我一样有麻烦。

答案 35 :(得分:0)

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

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