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

无法解析符号“AppCompatActivity”

我已经编译了“com.android.support:appcompat-v7 . 22.0”。在我的“应用程序”模块的依赖列表和重建项目几次。然而,我只能使用ActionBarActivity。我做错了什么?


当前回答

如果通过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

沙赫巴兹·阿里证实,这也行得通

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上运行

其他回答

下面这些都不能解决我的问题

重新启动Android 文件>>与Gradle文件同步项目 建立>>清洁项目 重建>>重建项目 >>文件无效缓存/重启

相反,我通过更新appcompat & design dependencies的版本到最新版本来解决这个问题 这样做:去建设。grade (Module:app) >> dependencies部分,然后在appcompat和design dependencies上按ALT + ENTER,然后选择在我的情况下显示的版本,如图所示,它是24.2.1

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

只需更改依赖项:

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

在这里你可以找到关于这个新类的更多信息。

我在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安装Java SDK for Mac OS X

3)启动Android SDK,通过到文件->项目结构-> JDK位置,将本项目的SDK指向新的1.7 Java SDK

4)重启Android Studio

希望这对你有所帮助

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

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

首选项->构建,执行,部署-> Gradle显示使用本地Gradle分布选择与Gradle home: /Applications/Android Studio.app/Contents/ Gradle / Gradle -2.14.1和警告显示Gradle位置是不正确的。

通过选择使用默认gradle包装器(推荐)解决了这个问题。 可能只要指向新的本地分销地点也可以。

我把它修好了。gradle文件和appcompat依赖文件,比如编译'com.android.support:appcompat-v7:XX.X.X'

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

然后点击“同步”。如果代码中的其他内容都是正确的,那么所有的红色曲线都应该消失。