我刚试过使用Android Studio。我创建了空白项目并尝试创建扩展Activity
的{{1}}。不幸的Android Studio"说"它
无法解析符号' AppCompatActivity'
我在我的" app"的依赖列表中有AppCompatActivity
模块和重建项目多次。但是我只能使用compile "com.android.support:appcompat-v7:22.0.+"
。我做错了什么?
答案 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工具不起作用,请使用硬盘方式:
.idea
文件夹libraries
文件夹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
答案 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 SDK3)启动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)
以下没有一个解决我的问题
相反,我通过将appcompat&设计依赖项的版本更新为最新版本来解决了该问题 为此,请执行以下操作:转到 build.grade(Module:app)>>依赖项部分,然后在两个appcompat&design依赖项上均按 ALT + ENTER ,然后在中选择显示的版本我的情况是24.2.1,如图所示
答案 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)
答案 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)
如果使缓存无效无济于事,只需关闭项目,然后重新打开它。步骤:
答案 25 :(得分:0)
这可能是应用程序级别的版本差异,请检查一次,然后重新构建
答案 26 :(得分:0)
我解决了这个问题:
import androidx.appcompat.app.AppCompatActivity;
在主.java文件的“导入”区域中。它对我有用。
希望有帮助!
答案 27 :(得分:0)
发生这种情况是由于以下原因之一:
可能的解决方案:
检查您的.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' }
您可能使用的是其他版本,但只需确保已列出 依赖性。
打开SDK管理器并下载每个API 7或更高版本。如果您缺少所需的API,它将解决此问题,下载所有较新的API也可以为以后节省一些麻烦。
答案 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文件添加到您的项目中。而已。
答案 34 :(得分:0)
对我来说,没有任何一种解决方案。但我发现我的外部库中缺少支持库的所有库。在其他项目中,AppCompatActivity的解决没有问题。
对我来说,它可以创建一个新项目并将旧src文件夹的所有内容复制到新项目中。
我不确切知道为什么,但如果什么都不起作用,那可能是最后一种可能性。就好像有人和我一样有麻烦。
答案 35 :(得分:0)
通过尝试不起作用的软方法,使用硬方法: 退出当前的Android Studio屏幕,然后将您的项目转到.idea文件夹。重命名librarys-> lib_pre文件夹。
重新启动Android Studio。它将重新创建库文件夹并再次正常运行。 Android Studio 3.1.3