Android 无法解析符号';AppCompative活动';

Android 无法解析符号';AppCompative活动';,android,android-studio,gradle,android-support-library,android-appcompat,Android,Android Studio,Gradle,Android Support Library,Android Appcompat,我刚刚试着使用Android Studio。我已经创建了一个空白项目,并尝试创建扩展了AppCompatActivity的Activity。不幸的是,Android Studio“说”它 无法解析符号“AppCompatActivity” 我在我的“应用”模块的依赖项列表中编译了“com.android.support:appcompat-v7:22.0.+”,并多次重建了项目。但是,我只能使用ActionBarActivity。我做错了什么?今天(4月22日),您可以使用支持库v 22.1.0

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

无法解析符号“AppCompatActivity”

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

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

只需更改您的依赖关系:

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

您可以找到有关此新类的更多信息。

您可以使用新的appcompat活动appcompat-v7:22.1+ 只需将此添加到渐变中:

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


对于在使用正确的lib版本和正确的类时出现相同错误的任何人,这里是对其他答案的一点补充

当我升级到

appcompat-v7:22.1.0
其中,
ActionBarActivity
已被弃用且为空,
AppCompativty
是一个不错的选择,因为Android Studio中出现了一些小故障,它在版本更改时并没有得到很好的响应

i、 即使Gradle运行时没有出错,IDE本身也一直在说
无法解析符号“AppCompatActivity”
(通过
Ctrl+N
搜索也无法解析该符号)

我查看了
.idea/libraries
文件夹,发现没有适合新版本库的元文件

因此,使用旧的可靠文件->使缓存无效/重新启动成功了。当你觉得Android Studio出现了神奇的问题时,一定要试试这个。
然后禁用脱机模式和同步。

也检查拼写错误,当我实际上键入了AppCompactActivity而不是AppCompatActivity时,我浪费了一整天寻找解决方案,当我更新Gradle构建版本时,问题得到了解决。不知道为什么?

我在Mac OS X Yosemite机器上开发Android SDK 23时遇到了同样的问题。结果证明我没有JavaSDK7

一旦我安装了JavaSDK7并将Android Studio中的SDK指向新的SDK,一切都对我有利

以下是我遵循的步骤:

1) 关闭Android SDK

2) 从安装Mac OS X的Java SDK

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

4) 重新启动Android Studio


希望这有帮助

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


这对我很有用。

我将告诉你我是如何在eclipse中解决这个问题的。
从这个链接下载zip文件。然后提取这个文件,打开项目,在lib文件夹中,您将看到一个名为“android-support-v7-appcompat”的jar文件,将这个jar文件添加到您的项目中。就这样

升级到最新的支持库后,我必须升级到最新的Android studio(beta)版本和gradle版本,然后IDE才能再次识别AppCompatActivity(无效缓存和重新启动不起作用)

记住按Alt+Enter或添加导入

import android.support.v7.app.AppCompatActivity; 

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

在将Android Studio从2.2.3更新为2.3、将Android gradle插件更新为2.3.0、将gradle更新为3.3之后,我得到了AppCompatActivity和许多其他类和方法的
错误

File->Invalidate Caches/Restart
未解决该问题

Preferences->Build,Execution,Deployment->Gradle
显示
使用本地Gradle发行版
与Gradle home:/Applications/Android Studio.app/Contents/Gradle/Gradle-2.14.1一起选择,并显示一条警告,指出Gradle位置不正确

通过选择
使用默认渐变包装器(推荐)
解决问题

可能仅仅指向新的本地分发位置也会起作用。

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

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


希望它能帮助……:)

我通过转到
build.gradle
文件和
appcompat
one中的依赖项,比如compile
'com.android.support:appcompat-v7:XX.X.X'

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


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

在project build.gradle中添加此依赖项

按照下面的例子

dependencies {

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

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

File -> Sync Project with Gradle Files

你只需在Gradle应用程序文件中添加一些依赖项即可

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


虽然XX:YY:ZZ是您在gradle文件中使用的版本代码,否则,如果您将此版本设置为低于或高于您正在使用的版本,那么您的应用程序将面临一些问题,例如它有时会崩溃。如果通过gradle file/“Invalidate caches”和其他IDE工具的软方法不起作用,请使用硬方法:

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

    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
    

    确认了,它可以在Android Studio 3.2.1上运行

    我刚刚将我的Android Studio从2.3.2版本更新到3.1.2版本。这个错误发生了

    我清理公共关系
    android.useAndroidX=true
    android.enableJetifier=true
    
    implementation 'com.android.support:appcompat-v7:27.1.1
    
    implementation 'androidx.appcompat:appcompat:1.1.0'
    
    import android.support.v7.app.AppCompatActivity;
    
    import androidx.appcompat.app.AppCompatActivity;