Android Gradle Protobuf плагин - PullRequest
       17

Android Gradle Protobuf плагин

0 голосов
/ 15 марта 2019

Я включил плагин Protobuf для Android, чтобы сгенерировать Java-класс на основе файла .proto. Файл класса генерируется и помещается в app/build/generated/source/proto/debug/javalite/Tetra2.java, и Android Studio распознает enum и т. Д., Но когда я делаю сборку ./gradlew, вывод выглядит примерно так:

... TetraCommunicator.java:57: ошибка: пакет Tetra2 не существует Tetra2.tetra_info tetraInfo;

Мне не хватает импорта или чего-то еще? Android Studio не намекает на то, что мне это нужно. Должен ли я импортировать с некоторым определителем имени пакета или что-то? Мне кажется подозрительным ссылаться только на класс Tetra2 напрямую, и gradle думает, что это имя пакета по какой-то причине. Почему Android Studio распознает класс (не жалуется), а сборка Gradle -? Файлы .proto хорошо протестированы, чтобы правильно генерировать C-код, поэтому с ним не должно быть проблем. Кроме Java

Мне также кажется странным, что сгенерированные имена классов иногда начинаются со строчных букв ...

UPDATE
Хммм. Кажется, я должен поместить объявление пакета в файл .proto, например:

package abc;

Тогда будет работать gradle build. Это почему? Я не хочу связываться с файлом .proto. Это не мое. Как я могу импортировать без декларации пакета?

...