2016-10-21 7 views
1

Я пытаюсь довольно напечатать содержание сообщения Protobuf в моем андроид приложения для отладки puprose но когда я называю .ToString() на сообщении это то, что я получаю:Android Protobuf облегченного ToString не работает

запрос # aeca $ в @ 7baa4

Как я могу напечатать содержание сообщения?

ответ

1

protobuf-lite не поддерживает toString(). Он не может, потому что TextFormat опирается на отражение и дескрипторы протобуфа, которые в точности являются функциями, которые не указаны в режиме Lite. Вам нужно будет построить против обычных (non-lite) протобуфов, чтобы это работало.

+1

Я пробовал делать это в андроиде, но я не могу справиться с созданием projerect. я использую стандартный protobuf-java, который он жалуется на «missing protoc: stdout:. stderr: Отсутствуют директивы вывода. Не могли бы вы показать мне рабочий пример для android с использованием не-lite версии? – Johny19

+1

https://github.com/yurifariasg/ android-google-speech-sample ithink его protobut 2, nano, android. Его гораздо большая сборка, поэтому вам, вероятно, нужно будет взглянуть на «мультидексы» для проекта, чтобы получить хорошее построение. –

+1

@ Johny19 Простите, я не Лично у меня есть опыт использования Protobuf на Android. Другой подход, который вы можете попробовать, - это выгрузить закодированный protobuf в файл, а затем использовать 'protoc -decode' для его чтения. Тогда вам не нужно изменять, как приложение –

 Смежные вопросы

  • Нет связанных вопросов^_^