感谢free3dom的指导,让我找到正确的方向。
诊断
在Android Studio中,选项Sync Project with Gradle Files
似乎可以使Project Structure
库保持最新状态。
![gradle sync](https://istack.dev59.com/Q3m5D.webp)
然而,在我的情况下出现了一些错误:
![errors found](https://istack.dev59.com/Wp96y.webp)
展开(不是很明显的)链接后,可以看到详细信息。我的wire-runtime库显示在错误的位置:
![libraries](https://istack.dev59.com/O8aTR.webp)
这似乎是我最初配置的余威,当时我曾将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
文件查看正在使用的资源路径。
我的错误路径是:
<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 />
删除并重新添加库后,根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 显然修复了其他一些具有相同症状的错误,因此如果您使用的是旧版本,则可能希望升级。