Я обновил свою стабильную версию Android Studio до 2.2, и теперь «добавочный компилятор» IDE не может найти ни одного из символов для сгенерированных классов protobuf. Я открываю проект, и он может нормально собрать и развернуть приложение на устройстве. Но когда я открываю файл класса Java, содержащий сгенерированные ссылки protobuf, Android Studio помечает их как ошибки вскоре после открытия файла. Каждый импорт Java сгенерированного прото-класса помечается как «Не удается разрешить символ».
Я впервые заметил это месяц назад на канареечном канале, но не подумайте об этом, потому что я барахтался с другими проблемами protobuf (обновление до 3.0.0 с его разделением javalite). Я забыл об этом до сегодняшнего дня. Работать над проектом по-прежнему можно, просто IDE почти бесполезна, так как думает, что есть ошибки (хотя настоящие компиляторы с этим справляются).
Для справки.
gradle-2.14.1
com.android.tools.build:gradle:2.2.0
com.google.protobuf:protobuf-gradle-plugin:0.8.0
com.google.protobuf:protobuf-lite:3.0.0
com.google.protobuf:protoc:3.0.0
com.google.protobuf:protoc-gen-javalite:3.0.0
И в модулях, содержащих файлы .proto:
protobuf {
protoc {
artifact = google_protoc_artifact
}
plugins {
javalite {
artifact = google_protoc_javalite_artifact
}
}
generateProtoTasks {
all().each { task ->
task.builtins {
remove java
}
task.plugins {
javalite { }
}
}
}
}