【问题标题】:Cannot resolve symbol AppCompatActivity - Support v7 libraries aren't recognized?无法解析符号 AppCompatActivity - 无法识别支持 ​​v7 库?
【发布时间】:2015-08-28 11:36:13
【问题描述】:

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

import android.support.v7.app.AppCompatActivity;


public class XApplicationActivity extends AppCompatActivity

我的 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"

我的项目设置:

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

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

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

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

【问题讨论】:

    标签: android android-support-library android-appcompat android-library


    【解决方案1】:

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

    无法解析符号“AppCompatActivity”

    有时清除 android studio 缓存的帮助。

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

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

    【讨论】:

      【解决方案2】:

      如果你使用 androidX 而不是 android,你需要 改变

      import android.support.v7.app.AppCompatActivity;
      

      import androidx.appcompat.app.AppCompatActivity;
      

      改变

      <android.support.constraint.ConstraintLayout>
      

      <androidx.constraintlayout.widget.ConstraintLayout>
      

      【讨论】:

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

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

      这对我有用

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

          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"
          

          【讨论】:

            【解决方案6】:

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

            【讨论】:

            • 试过了,它破坏了一切,报告了很多错误:(但是在此之后再次“制作”项目,问题终于消失了!
            【解决方案7】:

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

            1. Build 菜单中,选择 Edit Libraries and Dependancies

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

            1. 添加后,clean您的项目并重建它。

            【讨论】:

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

            如果您已经尝试过

            1. 使缓存失效并重新启动
            2. 清理/重建项目
            3. ./gradlew clean assemble
            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 将这些标志设为 false

            android.useAndroidX=false

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

            android.enableJetifier=false

            上面的标志是

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

            【讨论】:

            • 哇,真是天才。你是怎么发现的?
            • 在所有其他方法都失败后,禁用 jetifier 和 androidx 为我解决了这个问题。
            【解决方案9】:

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

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

            import android.support.v7.app.AppCompatActivity;
            

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

            希望对某人有所帮助!

            【讨论】:

              【解决方案10】:

              我在新启动的项目中遇到了同样的问题,最小 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'
              

              【讨论】:

                【解决方案11】:

                我也遇到过同样的情况,解决起来很简单。只需尝试删除以下导入语句。

                import android.support.v7.app.AppCompatActivity;
                

                下面的代码将提示一条消息,同时要求您按 alt+enter。

                import androidx.appcompat.app.AppCompatActivity;
                

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

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

                【讨论】:

                  【解决方案12】:

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

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

                  【讨论】:

                    【解决方案13】:

                    替换

                    import android.support.v7.app.AppCompatActivity;
                    

                    与 导入 androidx.appcompat.app.AppCompatActivity

                    【讨论】:

                      【解决方案14】:

                      最好的解决办法肯定是去 File>Invalidate Caches & Restart

                      然后在对话框菜单中...单击使缓存无效并重新启动。等待一分钟或重置项目需要多长时间,那么您应该会很好。

                      --

                      我应该注意到我还遇到了引用资源文件或“R”文件的问题,该文件位于我的 gradle 中的 compileOnly 库中。 (即 compileOnly 库 > res > 引用的 xml 文件)我停止在我的 Java 代码中引用这个文件,它帮助了我。因此,请注意您引用文件的位置。

                      【讨论】:

                        【解决方案15】:

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

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

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

                        【讨论】:

                          【解决方案16】:

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

                          【讨论】:

                            【解决方案17】:

                            androidX 用户

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

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

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

                            【讨论】:

                            • 不是androidx用户,但终于解决了我的问题。
                            【解决方案18】:

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

                            import android.support.v7.app.AppCompatActivity;
                            


                            收件人:

                            import androidx.appcompat.app.AppCompatActivity;
                            

                            【讨论】:

                              【解决方案19】:

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

                              【讨论】:

                                【解决方案20】:

                                背景信息:

                                我的 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插件。

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

                                build.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

                                【讨论】:

                                  【解决方案21】:

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

                                  【讨论】:

                                    【解决方案22】:

                                    缓存失效后, 变化自

                                    import android.support.v7.app.AppCompatActivity;
                                    

                                    import androidx.appcompat.app.AppCompatActivity;
                                    

                                    为我工作。

                                    【讨论】:

                                      【解决方案23】:

                                      包括导入androidx.appcompat.app.AppCompatActivity;在您的 MainActivity.java 中使用其他导入语句。这看起来像:

                                      这解决了我的问题

                                      【讨论】:

                                        【解决方案24】:

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

                                        import android.os.Bundle;
                                        
                                        import androidx.appcompat.app.AppCompatActivity;
                                        

                                        用(xml文件):

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

                                        【讨论】:

                                          【解决方案25】:

                                          我刚刚评论它并使用了 androidx,现在它运行良好!

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

                                          【讨论】:

                                            【解决方案26】:
                                            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'
                                            

                                            【讨论】:

                                              【解决方案27】:

                                              支持 V7 AppCompat 需要以下兼容的 Gradle 版本,

                                              它对我有用

                                              【讨论】:

                                                猜你喜欢
                                                • 1970-01-01
                                                • 2018-11-11
                                                • 2015-05-25
                                                • 2016-12-31
                                                • 2018-08-30
                                                • 2016-04-29
                                                • 1970-01-01
                                                相关资源
                                                最近更新 更多