Dzięki free3dom za skierowanie mnie tutaj na właściwe tory.
Diagnoza
Wydaje się, że Sync Project with Gradle Files
opcja w Android Studio zapewnia Project Structure
aktualność bibliotek.
Jednak w moim przypadku były błędy:
Rozszerzenie (niezbyt oczywistego) linku pokazało szczegóły. Moja biblioteka wire-runtime wyświetlała się w nieprawidłowej lokalizacji:
Wydawało się, że to kac po mojej pierwotnej konfiguracji, w której zaimportowałem JAR do folderu libs.
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
Następnie zmieniłem go tak, aby był importowany bezpośrednio z Maven Central ( jak tutaj ) i wydaje się, że stare ustawienie nigdy nie zostało nadpisane nowym.
Poprawka
Poprawka polega na usunięciu zależności biblioteki z Project Structure
ekranu, a następnie Sync Project with Gradle Files
ponownie.
Więcej szczegółów
Możesz również sprawdzić, która ścieżka jest używana do zasobu, otwierając .idea/libraries/wire_runtime_1_2_0.xml
bezpośrednio.
Mój zepsuty był:
<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 />
Po usunięciu i ponownym dodaniu biblioteki zmieniła się root url
na:
<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!/" />
Aktualizacja
Android Studio v0.4.4 najwyraźniej naprawia inne błędy, które mają te same objawy, więc jeśli masz starszą wersję, możesz chcieć zaktualizować.