这个错误经常在Android Studio新建项目的发生。有时候项目之前好好的,再次打开时也会出现这个错误。
项目虽然能编译通过,但是编码时各种快捷键、自动补齐都无法使用,更别提要逼死强迫症宝宝了。
这里提供几种解决方法,验证了都好用,建议使用方法1,一劳永逸。
方法1、修改build.gradle文件
最方便的方法。
- 打开build.gradle(Module:app),也就是app目录下的build.gradle文件
- 在buildTypes{ }配置块内添加:repositories { maven { url “https://maven.google.com” } }
- 点击右上角出现的Sync Now,同步Gradle即可解决该问题。(也可以使用File菜单中的同步选项进行同步)
// app目录下的build.gradle文件
android {
compileSdkVersion 28
defaultConfig {
// 篇幅原因省略无关内容
}
buildTypes {
release {
// 篇幅原因省略无关内容
}
// 添加该行内容即可
repositories {
maven {
url "https://maven.google.com" } }
}
// 使用Lambda表达式需要添加
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
方法2、Invalidate and Restart
操作很简单,就是会关闭所有的AS工程,重启加载过程较慢。
- 点击「File菜单」
- 点击「Invalidate Caches / Restart…」选项
- 点击「Invalidate and Restart」按钮
- Android Studio自动重启后选择要打开的项目,等待加载完毕即可
方法3、删除.idea文件夹后再打开项目
需要关闭目标项目AS工程,加载过程较慢。
- 关闭目标项目AS工程
- 删除项目根目录的.idea文件
- 重新打开目标项目AS工程,等待加载完毕即可
最后
其实方法1就应该够用了,如果编译都无法通过的话,请确认以下内容:
- gradle是否被正确下载并配置
- 是否在build.gradle文件中依赖了正确的appcompat包
// app目录下的build.gradle文件
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// 依赖包,版本号随SDK版本调整
implementation 'com.android.support:appcompat-v7:28.0.0'
// 省略其他无关内容
}