Android Studio内联编译器显示红色错误,但编译与gradle工作正常
根据这个问题 ,我已经在Android Studio中设置了我的项目来使用Square Wire库 。
Build
– > Compile Project
工作正常。
2:03:10 PM Compilation completed successfully in 31 sec
但是,如果我打开其中一个生成的协议缓冲区文件,然后Square包不被识别。
另一个症状是,从Square Message
类inheritance的方法在编辑器中显示为“无法parsing方法”编译错误,即使它们构build并运行良好。
我需要做什么比在我的项目中为我的模块添加build.gradle
的依赖关系吗?
感谢free3dom让我在这里的正确轨道。
诊断
Android Studio中的Sync Project with Gradle Files
的Sync Project with Gradle Files
选项似乎使Project Structure
库保持最新状态。
但是,在我的情况下,有一些错误:
扩大(不是很明显)的链接显示了细节。 我的电线运行时库显示在一个不正确的位置:
这似乎是我原来的configuration,我已经将JAR导入到libs文件夹的宿醉。
dependencies { compile fileTree(dir: 'libs', include: '*.jar') }
后来我把它改成从Maven Central直接导入( 就像这里一样 ),旧的设置似乎从来没有被新的覆盖。
修正
修复方法是从“ Project Structure
屏幕中删除库依赖项,然后再次将Sync Project with Gradle Files
。
更多详情
您也可以通过直接打开.idea/libraries/wire_runtime_1_2_0.xml
来查看正在使用的资源path。
我破碎的是:
<component name="libraryTable"> <library name="wire-runtime-1.2.0"> <CLASSES> <root url="jar://$PROJECT_DIR$/MY_MODULE/libs/wire-runtime-1.2.0.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES />
删除并重新添加库后,它将root url
更改为:
<root url="jar://$USER_HOME$/.gradle/caches/artifacts-26/filestore/com.squareup.wire/wire-runtime/1.2.0/jar/44e7acbd5eb6f29698181dc3d67a60acf7efee80/wire-runtime-1.2.0.jar!/" />
更新
Android Studio v0.4.4 显然修复了其他有相同症状的错误 ,所以如果你有一个旧版本,你可能希望升级。
简单解决scheme
通过链接,它为我工作。
1.)从android studio左上angular的菜单中select“文件”选项。 2.)select选项:“无效caching/重新启动..”它将打开一个对话框。 3.)点击第一个button,选项:“无效和重新启动”4.)它将closures工作室,并重新启动它。 开始项目的索引。 它解决了我的问题
转到文件 – >无效caching/重新启动 – >失效并重新启动
1)点击gradle图标(android studio右侧)
2)点击刷新button,等待问题得到解决:D
这些解决scheme并没有帮助我在Android Studio 0.5.8中遇到同样的问题。
我描述了我的答案相同的问题(我猜): https ://stackoverflow.com/a/23891829/534698我刚刚删除〜/ .AndroidStudioPreview目录(在Ubuntu中)。 我错过了所有我的Android Studio设置,但它的工作原理。
我以前有过类似的问题,无效的caching和重新启动没有解决它。 我刚做了一个Gradle Sync,一切正常。
如果以上所有答案都不适合你。 只要尝试更新你的依赖到最新版本。 它为我工作。
以上所有答案都不适用于我。 我正在使用Android Studio版本2.3.3 🙁