Как использовать google / api / annotations.proto с Android - PullRequest
0 голосов
/ 08 ноября 2018

У меня проблема с файлом proto в моем проекте У меня был импорт в моем файле прото:

import "google/api/annotations.proto";

Я получаю следующую ошибку при сборке проекта.

Import "google/api/annotations.proto" was not found or had errors.

Как я могу использовать этот импорт в моем проекте? Должен ли я добавить что-то в свой build.gradle?

1 Ответ

0 голосов
/ 08 ноября 2018

На не Android вы можете добавить эту зависимость в build.gradle:

compile 'com.google.api.grpc:proto-google-common-protos:1.12.0'

Тем не менее, Android использует Protobuf "Lite" вместо полного Protobuf, и для этого прото нет предварительно сгенерированной библиотеки с Lite. есть открытый вопрос об этом .

Однако и здесь можно использовать обходной путь для хорошо известных протосов . А именно, используйте зависимость protobuf вместо зависимости compile. Это сгенерирует код как часть вашей сборки.

protobuf 'com.google.api.grpc:proto-google-common-protos:1.12.0'

К сожалению, это решение действительно работает только для приложений. Если две библиотеки используют это «решение», они никогда не должны включаться в одно и то же приложение, поскольку они будут дублировать (и потенциально иметь разные версии) сгенерированные классы.

...