无法解析符号“AppCompatActivity”
Posted
技术标签:
【中文标题】无法解析符号“AppCompatActivity”【英文标题】:Cannot resolve symbol 'AppCompatActivity' 【发布时间】:2015-05-25 19:57:32 【问题描述】:我刚刚尝试使用 android Studio。我创建了空白项目并尝试创建扩展AppCompatActivity
的Activity
。不幸的是Android Studio“说”它
我的“app”模块的依赖项列表中有compile "com.android.support:appcompat-v7:22.0.+"
,并多次重建项目。但是我只能使用ActionBarActivity
。我做错了什么?
【问题讨论】:
您使用的是正确的构建版本吗?你的 sdk 是最新的吗? @Lingviston 你没有使用正确的版本。你应该使用com.android.support:appcompat-v7:22.1.0
那个时候还没有这样的版本。
但是现在有了,它解决了问题:)
【参考方案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
中...但仍然出现错误
如果它不起作用,试试这个,对我有用:***.com/a/36641765/3758439
在 IntelliJ IDE 中相同。【参考方案2】:
如果通过 gradle file / "Invalidate caches" 和其他 IDE 工具的软方法不起作用,请使用硬方法:
-
退出 Android Studio
在您的项目中导航到
.idea
文件夹
只需重命名libraries
文件夹
重新启动 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】:发生这种情况是由于以下原因之一:
-
您没有安装 SDK API(这是我的问题)
您的项目/Android Studio 不知道所需文件在哪里
您的项目引用了不支持 AppCompatActivity 的过时编译版本
有错别字
可能的解决方案:
检查您的 .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'
您可能使用的是不同的版本,但请确保您已列出 依赖。
打开 SDK 管理器并下载每个 API 7 或更高版本。如果您缺少所需的 API,它将解决该问题,并且下载所有较新的 API 也可以在以后为您省去一些麻烦。
检查导入语句中的拼写错误。确保它没有显示“AppCompactActivity”而不是“AppCompatActivity”。 重新同步您的项目(文件>将项目与 Gradle 文件同步) 重建您的项目(构建>重建) 清理您的项目(构建>清理项目) 关闭并重启 Android Studio 更新 Android Studio 重新生成您的库文件夹 - 在 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中的版本差异检查一次然后重新构建
【讨论】:
以上是关于无法解析符号“AppCompatActivity”的主要内容,如果未能解决你的问题,请参考以下文章
无法解析符号 AppCompatActivity - 无法识别支持 v7 库?
无法解析 style.xml 中的符号“主题”(Android Studio)