ChatGPT解决这个技术问题 Extra ChatGPT

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

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

import android.support.v7.app.AppCompatActivity;


public class XApplicationActivity extends AppCompatActivity

我的构建等级:

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"

我的项目设置:

minSdkVersion = 14
targetSdkVersion = 21
compileSdkVersion = 21
buildToolsVersion = "22.0.1"

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

清理/重建项目

使缓存无效并重新启动

检查十亿次以确保我安装了支持库(我绝对安装了最新的支持库和库)

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


N
Nicks

对我来说,即使升级到添加了 AppCompatActivtyappcompat-v7:22.1.0,问题对我来说也没有解决,Android Studio 也出现了同样的问题

无法解析符号“AppCompatActivity”

有时清除 android studio 缓存会有所帮助。

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

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


M
Mina chen

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

import android.support.v7.app.AppCompatActivity;

import androidx.appcompat.app.AppCompatActivity;

和改变

<android.support.constraint.ConstraintLayout>

<androidx.constraintlayout.widget.ConstraintLayout>

谢谢!在完成所有其他解决方案后,我有点挣扎,这对我有用
这引导我走向正确的方向。迁移到 AndroidX 后,您需要修复所有这些导入行!迁移不会做任何事情,uhhrrr
M
Muhamed Krasniqi

1.删除.idea文件夹 2.关闭并重新打开项目 3.File -> Sync Project With Gradle Files

这对我有用


J
Jorgesys

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

https://i.stack.imgur.com/ZAaer.png


A
Andrey Turkovsky

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"

M
Mikey Chen

好的,我通过重建它来修复它第四次进行 ./gradlew clean assemble ...... Android Studio 是一个奇怪的东西


试过这个,它破坏了一切,报告了很多错误:(但是在此之后再次“制作”项目,问题终于消失了!
w
wbadry

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

从 Build 菜单中,选择 Edit Libraries and Dependancies

https://i.stack.imgur.com/qNCVI.png

如果未添加,请确保添加最新的 AppCompat 包

https://i.stack.imgur.com/zQ7pc.png

https://i.stack.imgur.com/wyZ9l.png

添加后,清理您的项目并重建它。

https://i.stack.imgur.com/pYoOn.png


我看不到那些构建选项,我只看到底部的 3 个选项,加上顶部的“制作”。我已经卸载并重新安装了最新版本的 AS 并作为 android 项目导入,但是这些选项(以及我在其他答案中看到的许多其他选项)对我不可用。我研究了如何正确导入反应原生项目,它应该像看起来一样简单,但这对我不起作用。您是否必须做一些每个人都知道的事情,所以可能不提?或者知道我的问题可能是什么?
同样在这里,我没有看到与您在屏幕截图中提到的相同的构建菜单......这似乎是一个很好的解决方案,但我无法弄清楚。
转到 graddle.properties 并使所有标志 fasleandroid.useAndroidX=falseandroid.enableJetifier=false。这将启用这些属性
C
Community

如果您已经尝试过

使缓存无效并重新启动清理/重建项目 ./gradlew clean assemble 添加了实现“com.android.support:support-v4:23.1.1”“com.android.support:appcompat-v7:23.1.1”“com.android .support:support-annotations:23.1.1" 更正了对 android.support.v7.app.AppCompatActivity 的导入;更正了任何现有的 androidx 导入

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

终于找到了解决办法

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

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

android.useAndroidX=false

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

android.enableJetifier=false

上面的标志是

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


哇简直是天才。你是怎么发现的?
在所有其他方法都失败后,禁用 jetifier 和 androidx 为我解决了这个问题。
G
Gravitoid

我从“...扩展 ActionBarActivity”更改为“...扩展 AppCompatActivity”并尝试清理、重新启动、使缓存无效/重新启动,但没有得到任何结果。我所有的版本都是最新的。

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

import android.support.v7.app.AppCompatActivity;

由于某种原因,它没有像我习惯的那样自动设置,我不得不手动添加它。

希望对某人有所帮助!


I
Imran

我在新启动的最小 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'

D
Dheeraj Pramod Naik

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

import android.support.v7.app.AppCompatActivity;

将提示带有以下代码的消息,还要求您按 alt+enter。

import androidx.appcompat.app.AppCompatActivity;

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

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


P
Pradeep Kumar

我遇到了同样的错误以防万一它可以帮助其他人.. 记录对我有用的最新(2017 年 1 月 14 日)最新的一切。在多个堆栈溢出答案上尝试了所有无效、构建干净、甚至删除 .gradle/、调整支持库等。

我发现升级 settings.gradle gradle 版本修复了它(它是 2.1.3) gradle 工具链中的某些东西似乎是 classpath 'com.android.tools.build:gradle:2.2.3'


u
user1078632

更换

import android.support.v7.app.AppCompatActivity;

导入 androidx.appcompat.app.AppCompatActivity


a
airvine

最好的解决方案肯定是去 File>Invalidate Caches & Restart

然后在对话框菜单中... 单击 Invalidate Caches & Restart。等待一分钟或重置您的项目需要多长时间,那么您应该会很好。

--

我应该注意,我还遇到了引用我在我的 gradle 中的 compileOnly 库中的资源文件或“R”文件的问题。 (即 compileOnly 库 > res > 引用的 xml 文件)我停止在我的 Java 代码中引用这个文件,它帮助了我。所以要厌倦你在哪里引用文件。


D
Deepali Maniyar

我在 'gradle.properties' 中有这些设置

android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true

最好使用 androidx 库。所以我将所有导入更改为 androidx 库并编译项目。访问 http://developer.android.com/jetpack/androidx 了解信息。


G
GreenROBO

问题可能是导入参考,尝试更改它。从:

import android.support.v7.app.AppCompatActivity;

至:

import androidx.appcompat.app.AppCompatActivity;

a
anoja madusanka

File->Invalidate Caches/Restart 对我有用。


H
HeshanHH

androidX 用户

将您的 minSdkVersion 更改为 api 级别 21。

喜欢这个 minSdkVersion 21 或使用 compileSdkVersion 28 构建您的应用程序并将 targetSdkVersion 更改为 targetSdkVersion 28

你会看到 v7 错误消失了。之后,如果您在创建工具栏或其他小部件时遇到问题。按 Alt+Enter 并为其创建一个方法。


不是androidx用户,但终于解决了我的问题。
G
Gyan Swaroop Awasthi

删除项目中的隐藏文件夹 .idea 文件夹。转到系统中的项目并单击 ctrl+H 它将可见,然后将其删除。现在重启你的android studio。我会解决的。它为我工作。


c
catweazle

背景资料:

我的 IDE

Android Studio 3.1.3
Build #AI-173.4819257, built on June 4, 2018
JRE: 1.8.0_152-release-1024-b02 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 7 6.1

第一种解决方法:重新导入项目,不同意升级android gradle插件。

第二种解决方案:您的文件应该包含这些片段。

构建.gradle:

buildscript {
  repositories {
    jcenter()
    google()//this is important for gradle 4.1 and above
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:3.1.3' //this android plugin for gradle requires gradle version 4.4 and above
  }
}
allprojects {
  //...
  repositories {
    jcenter()
    google()//This was not added by update IDE-wizard-button.
    //I need this when using the latest com.android.support:appcompat-v7:25.4.0 in app/build.gradle
  }
}

要么按照你的 IDE 的建议将你的 gradle 版本升级到 4.4,要么考虑在 gradle/wrapper/gradle-wrapper.properties 中有这个

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

Optional 在 app/build.gradle 中更改 buildToolsVersion:

android {
compileSdkVersion 25
buildToolsVersion '27.0.3'

app/build.gradle:注释掉依赖,让构建失败(自动或触发)

dependencies {
//compile fileTree(dir: 'libs', include: ['*.jar'])
//compile 'com.android.support:appcompat-v7:25.1.0'
}

app/build.gradle:再次在依赖项中添加注释。建议将它们从编译更改为实现,但现在这只是一个警告问题。

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.1.0'
}

项目重建后,导入语句不应再灰显;尝试在类上调用 Ctrl+h。但是由于某种原因,这些类引用语句上的错误标记仍然存在。为了摆脱它们,我们需要隐藏和恢复项目树视图,或者关闭并重新打开项目。

最后就是这样。

进一步阅读:

Update Gradle

Use the new dependency configurations

如果您更喜欢我的解决方案的图片轨迹,可以访问我的 blog


A
Ave Maria

如果给定的解决方案不起作用,请创建一个以“KOTLIN”为语言的新项目,即使您的工作是在 java 上。然后将新项目的“主”文件夹替换为旧项目的“主”文件夹。


f
fcdt

使缓存失效后,从

import android.support.v7.app.AppCompatActivity;

import androidx.appcompat.app.AppCompatActivity;

为我工作。


P
Pulkit Ahuja

https://i.stack.imgur.com/dNBYd.png

这解决了我的问题


A
Adrian Mole

对我来说,下面的代码运行良好:

import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;

使用(xml文件):

androidx.constraintlayout.widget.ConstraintLayout xmlns:android="...."

c
cmcodes

我刚刚评论它并使用了 androidx,现在一切正常!

import androidx.appcompat.app.AppCompatActivity;
// import android.support.v7.app.AppCompatActivity;

M
MN7272
Follow these steps:

File >> Invalidate Caches / Restart
Clean project
Finally go to build.gradle
And compileSdkVersion and targetSdkVersion lower version
If 
implementation 'com.android.support:appcompat-v7:29.0.0'
Convert this to 
implementation 'com.android.support:appcompat-v7:28.0.0'

A
AgungCode.Com

支持 V7 AppCompat 需要兼容的 Gradle 版本,如下所示,

https://i.stack.imgur.com/hxp9G.png

它为我工作