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

无法解析符号“AppCompatActivity”

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


当前回答

除了其他答案,在设置中添加下面的dependencyresoltionmanagement。Gradle解决了这个问题。

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}

注意:我正在将旧的android项目迁移到AndroidX。在执行所有强制步骤后,此问题已结束,无法解析符号“AppCompatActivity”。在尝试了这里提到的所有其他解决方案后,问题仍未解决。当检查设置。Gradle和添加上面的代码解决了这个问题。

其他回答

升级你的gradle版本来解决这个问题

转到你的项目级别build.gradle

如果您使用的是旧版本的gradle,请升级到最新版本

 classpath 'com.android.tools.build:gradle:4.0.2'

gradle-wrapper.properties

更改distributionUrl为最新版本

distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-bin.zip

在将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包装器(推荐)解决了这个问题。 可能只要指向新的本地分销地点也可以。

尝试温和的方法行不通,那就用强硬的方法吧: 退出当前Android Studio屏幕,转到项目的。idea文件夹,重命名库->lib_pre文件夹。

重新启动Android Studio。现在它将重新创建libraries文件夹并再次顺利工作。 Android Studio 3.1.3

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

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

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

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