无法解析符号AppCompatActivity - 无法识别支持v7库?

hen*_*awn 60 android android-appcompat android-library android-support-library

我试图找出为什么我的Android工作室没有正确识别AppCompat v7库.下面的import语句显示为灰色,并表示没有support.v7.app的包.以下是我的活动文件:

import android.support.v7.app.AppCompatActivity;


public class XApplicationActivity extends AppCompatActivity
Run Code Online (Sandbox Code Playgroud)

我的build.grade:

compile "com.android.support:appcompat-v7:22.0.0"
compile "com.android.support:support-annotations:$ANDROID_SUPPORT_VERSION"
compile "com.android.support:support-v4:$ANDROID_SUPPORT_VERSION"
Run Code Online (Sandbox Code Playgroud)

我的项目设置:

minSdkVersion = 14
targetSdkVersion = 21
compileSdkVersion = 21
buildToolsVersion = "22.0.1"
Run Code Online (Sandbox Code Playgroud)

所以我真的很困惑为什么这仍然给我带来问题.我已经尝试过的事情:

  • 清理/重建项目
  • 使缓存无效并重新启动
  • 检查十亿次以确保我安装了支持库(我绝对安装了最新的支持库和库)

有谁知道任何修复?这花了我很多时间,这真的令人沮丧.

Nic*_*cks 100

对我来说,即使升级后appcompat-v7:22.1.0,在AppCompatActivty添加,问题没有解决对我来说,Android的工作室被赋予同样的问题

无法解析符号'AppCompatActivity'

有时清除android studio缓存有帮助.

在android studio中,我刚刚清除了缓存,并使用以下选项重新启动 -

文件 - >使高速缓存/重新启动无效

  • 清理项目也很有效. (4认同)

小智 33

1.删​​除.idea文件夹
2.关闭并重新打开项目
3.文件 - >使用Gradle文件同步项目

这对我有用


Ric*_*and 21

AppCompatActivity仅在支持库的22.1.0版中添加.之前它被称为ActionBarActivity.

您应该为所有支持库使用相同的版本.在撰写本文时,最新版本是23.1.1(您可以在这里找到最新的https://developer.android.com/tools/support-library/index.html#revisions),以便您的gradle文件的依赖项部分应该是这样的.

implementation "com.android.support:support-v4:23.1.1"
implementation "com.android.support:appcompat-v7:23.1.1"
implementation "com.android.support:support-annotations:23.1.1"
Run Code Online (Sandbox Code Playgroud)


Jor*_*sys 20

我们不需要删除文件,只需使缓存无效以重新启动配置:

介绍lacripcióndela imagenaquí


小智 19

如果您使用androidX而不是android,则需要进行更改

import android.support.v7.app.AppCompatActivity;
Run Code Online (Sandbox Code Playgroud)

import androidx.appcompat.app.AppCompatActivity;
Run Code Online (Sandbox Code Playgroud)

并改变

<android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

<androidx.constraintlayout.widget.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你!我有点安静地挣扎,在完成所有其他解决方案后,这对我有用 (2认同)

hen*_*awn 17

好吧,我通过重建它来修复它来进行第四次./gradlew清洁组装... Android Studio是一个奇怪的事情

  • 尝试了这一点,它打破了一切,报告了很多错误:(但是在此之后再次'Make'项目,问题终于消失了! (2认同)

wba*_*dry 8

以下步骤总结了我遵循的解决方案:

  1. 从“ 生成”菜单中,选择“ 编辑库和相关性”

在此处输入图片说明

  1. 如果未添加,请确保添加最新的AppCompat程序包

在此处输入图片说明

在此处输入图片说明

  1. 添加后,清理您的项目并重新生成它。

在此处输入图片说明


Gra*_*oid 6

我从“ ...扩展了ActionBarActivity”更改为“ ...扩展了AppCompatActivity”,并尝试清理,重新启动,使缓存无效/重新启动,却一无所获。我所有的版本都是最新的。

最终解决的是确保我的导入正确:

import android.support.v7.app.AppCompatActivity;
Run Code Online (Sandbox Code Playgroud)

由于某种原因,它没有像我以前那样自动设置,因此必须手动添加。

希望能对某人有所帮助!


Imr*_*ran 5

我在最小 api 23 的新启动项目中遇到了同样的问题,最后我在我的 gradle 依赖文件中添加了这些代码行并解决了错误:)

 implementation 'com.android.support:appcompat-v7:28.0.0'
 implementation 'com.android.support:customtabs:28.0.0'
 implementation 'com.android.support:support-vector-drawable:28.0.0'
 implementation 'com.android.support:support-media-compat:28.0.0'
Run Code Online (Sandbox Code Playgroud)


jku*_*ila 5

如果您已经尝试过

  1. 使缓存无效并重新启动
  2. 清洁/重建项目
  3. ./gradlew清洁组装
  4. 添加了实现
    “ com.android.support:support-v4:23.1.1”
    “ com.android.support:appcompat-v7:23.1.1”
    “ com.android.support:support-annotations:23.1.1”
  5. 更正了对android.support.v7.app.AppCompatActivity的导入;
  6. 更正了所有现有的androidx导入

仍然面临问题,请阅读以下内容

终于找到了解决方案

我尝试了所有答案中提到的所有内容,但都失败了。

转到gradle.properties使这些标志为假

android.useAndroidX = false

//自动转换第三方库以使用AndroidX

android.enableJetifier = false

上面的标志是

“是的,对我来说,因此gradle不会下载v7组件”

  • 哇,真是天才。你是怎么发现这一点的? (2认同)

小智 5

更换

import android.support.v7.app.AppCompatActivity;
Run Code Online (Sandbox Code Playgroud)

导入 androidx.appcompat.app.AppCompatActivity


小智 5

我经历了同样的情况,修复很容易。只需尝试删除以下导入语句。

import android.support.v7.app.AppCompatActivity;
Run Code Online (Sandbox Code Playgroud)

将使用以下代码提示一条消息,并要求您按 alt+enter。

import androidx.appcompat.app.AppCompatActivity;
Run Code Online (Sandbox Code Playgroud)

只需按 alt+enter 并完全删除之前的导入语句。

基本上这个问题出现在新版本的 Android Studio 中。