Android Studio内联编译器显示红色错误,但使用gradle编译工作
我已按照此问题在Android Studio中设置我的项目以使用Square Wire库。
build.gradle - > Compile Project工作正常。
2:03:10 PM Compilation completed successfully in 31 sec
但是,如果我打开一个生成的协议缓冲区文件,则无法识别Square包。
另一个症状是继承自Square build.gradle类的方法显示为"无法解析方法" 在编辑器中编译错误,即使它们构建并运行正常。
我是否需要做更多的事情而不仅仅是在我的项目中为模块添加build.gradle中的依赖项?
21个解决方案
110 votes
以下步骤有帮助
关闭项目,并在项目文件夹中删除~/.gradle
删除~/.gradle文件夹。
再次打开项目。 一切都应该解决。
Bioz Nguyen answered 2019-06-26T17:57:31Z
102 votes
感谢free3dom让我在这里走上正轨。
诊断
Android Studio中的root url选项似乎使Sync Project with Gradle Files库保持最新。
但是,就我而言,有一些错误:
扩展(不是很明显)链接显示了细节。 我的wire-runtime库显示在一个不正确的位置:
这似乎是我原始配置的宿醉,我将JAR导入libs文件夹。
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
我随后将其更改为直接从Maven Central导入(按照此处),似乎旧设置从未被新设置覆盖。
修复
修复是从root url屏幕删除库依赖项,然后再次删除Sync Project with Gradle Files。
更多详情
您还可以通过直接打开root url来查看资源使用的路径。
我破碎的是:
删除并重新添加库后,它将root url更改为:
更新
Android Studio v0.4.4显然修复了其他具有相同症状的错误,因此如果你有旧版本,你可能希望升级。
Dan J answered 2019-06-26T17:59:22Z
77 votes
简单解决方案
浏览链接,它对我有用。
从android studio左上方的菜单中选择Invalidate and Restart选项。
选择选项:Invalidate and Restart它将打开一个对话框。
单击第一个按钮,选项:Invalidate and Restart
它将关闭Android Studio并重新启动它。 此外,它将开始重新索引项目。
它解决了我的问题
转到文件> 无效缓存/重启> 无效并重新启动
Manmohan Soni answered 2019-06-26T18:00:36Z
43 votes
1)点击gradle图标(android studio右侧)
2)单击刷新按钮,等待问题得到解决:D
DroidDev answered 2019-06-26T18:01:09Z
11 votes
对我来说,删除项目的.gradle和.idea文件夹解决了问题。
kvadityaaz answered 2019-06-26T18:01:35Z
11 votes
我仍然经常遇到与Android Studio v3.2.1相同的问题,并解决了问题只是删除./idea/libraries文件夹的这两个子文件夹(无需删除整个.idea文件夹),而gradle sync没有 工作:
./idea/libraries
./idea/libraries
GoRoS answered 2019-06-26T18:02:12Z
7 votes
升级到Android Studio 3.1后我遇到了这个问题。我通过升级我使用的所有组件解决了这个问题。所以我在build.gradle(app)中更改了以下条目:
升级SDK(来自" compileSdkVersion 25"到" compileSdkVersion 26"或者当您阅读本笔记时可能更高):
// compileSdkVersion 25
compileSdkVersion 26
注释:此更改强制程序在下次同步期间下载/安装新的sdk。
升级appcompat-v7:
// implementation' com.android.support:appcompat-v7:25.4.0'
实施' com.android.support:appcompat-v7:26.1.0'
升级firebase:
//实施' com.google.firebase:firebase-ads:11.4.2'
实施' com.google.firebase:firebase-core:12.0.1'
实施' com.google.firebase:firebase-ads:12.0.1'
在PROJECT build.gradle中,升级google-services:
// classpath' com.google.gms:google-services:3.1.0'
classpath' com.google.gms:google-services:3.2.0'
升级gradle(从4.4到4.6)。 来自gradle-wrapper.properties:distributionUrl= [https://services.gradle.org/distributions/gradle-4.6-all.zip]
完成这些更改后,清理项目,使缓存/重启无效,删除.idea / libraries内容并重新同步(不确定顺序,但所有这些活动都为我解决了问题)。
Pablo Alfonso answered 2019-06-26T18:04:33Z
7 votes
删除.idea中的库文件夹为我解决了这个问题。 它位于项目的root / .idea / libraries中。
我使用的是Android Studio 3.1.4
Kamen Stoykov answered 2019-06-26T18:05:07Z
6 votes
我的hacky解决了这个问题 -
打开您的build.gradle文件
切掉build.gradle内的所有内容
粘贴在记事本中,用于超级安全的临时保存
选择“立即同步”' 在build.gradle文件中
等待同步失败
粘贴您的依赖项
'立即同步' 再次
尝试了很多解决方案,这是我唯一的解决方案。
jnutttzzz answered 2019-06-26T18:06:29Z
4 votes
在项目成功编译但具有未解析的类时,下面的步骤(所有类的使用将在所有文件中以红色显示)
步骤1.删除.gradle文件
步骤2.删除.idea文件
步骤3.在您的系统上打开一个新的Android工作室窗口和其他一些Android项目,并关闭您的项目错误
第3步。 现在从工作室工具栏再次打开/导入项目 Android Studio - >文件 - > 打开
注意:现在,当您导入项目时,编译器将自动生成具有已解析依赖项的新.gradle和新.idea文件夹。
Sumith.Pattar answered 2019-06-26T18:07:31Z
2 votes
如果以上所有答案都不适合您。只需尝试将您的依赖项更新到最新版本。它对我有用。
Cuong Nguyen answered 2019-06-26T18:07:58Z
2 votes
我找到了简单的方法
打开应用级别build.gradle
删除显示错误的依赖项& 同步。
再次添加依赖& 同步。
错误消失了!
之前
后
Khemraj answered 2019-06-26T18:08:56Z
2 votes
似乎每个人都使用不同的方法来解决这些问题。 我建议另一个我认为比其他人更少入侵的人。 当我从我包含的aar库中引入更改时,我将打开" settings.gradle" 该项目的文件。
然后从项目列表中删除主项目模块:
include ':mainproj',
然后同步您的项目。 然后将其粘贴回来并再次重新同步您的项目。 我相信这与一些手动删除步骤相同,但是这样可以让您从IDE更快速,更轻松地完成此操作。
Jay Snayder answered 2019-06-26T18:09:45Z
1 votes
这些解决方案对Android Studio 0.5.8中的相同问题没有帮助。
我描述了我对同一个问题的回答(我猜):[https://stackoverflow.com/a/23891829/534698]我刚刚删除了〜/ .AndroidStudioPreview目录(在Ubuntu中)。 我错过了所有Android Studio设置,但它确实有效。
DmitryDzz answered 2019-06-26T18:10:19Z
1 votes
在我的情况下,由于某种原因,Android插件版本没有设置。 我确实尝试清除缓存并删除.gradle和.idea,但它没有成功,在最后徘徊了几个小时后,我发现了这一点。
Jainam Jhaveri answered 2019-06-26T18:10:47Z
1 votes
我尝试了上面的大多数修复,实际工作是删除所有.AndroidStudio配置文件夹,然后重新启动Android Studio。
位置:C:\ Users \ your.username
Diego Feder answered 2019-06-26T18:11:20Z
1 votes
只需在Android工作室上执行此操作:
文件 - > 无效的缓存/重新启动 - > 无效并重新启动
这对我有用。 无需清除./gradle或./idea文件夹
Arun Yogeshwaran answered 2019-06-26T18:12:01Z
1 votes
删除.idea/caches和.idea/libraries应该排除所有错误。
Karan_powered_by_RedBull answered 2019-06-26T18:12:28Z
0 votes
之前我遇到过类似的问题,缓存失效并重新启动并没有解决问题。 我刚做了Gradle Sync,一切正常。
Mina Samy answered 2019-06-26T18:12:55Z
0 votes
通过清理项目Build->Clean Project解决了该问题
Ganesh P answered 2019-06-26T18:13:22Z
0 votes
对我来说,我在模块库中引用一个jar。 它无法解析jar中的符号。 所以我找到了适合我情况的解决方案。 使用provided方式。
provided fileTree(include: ['xxx.jar'], dir: '../moduleX/libs')
Victor Choy answered 2019-06-26T18:13:51Z