我正在尝试在我的Android应用程序中打印protobuf消息的内容以调试puprose,但是当我在消息上调用.toString()时,这就是我得到的:
请求是#a.e.c.a$a@7baa4
如何打印讯息内容?
答案 0 :(得分:1)
protobuf-lite不支持toString()
。它不能,因为TextFormat
依赖于protobuf反射和描述符,这正是lite模式中省略的特征。您需要构建常规(非精简)protobuf才能使其正常工作。
答案 1 :(得分:0)
我使用proguard规则解决了这个问题。
GeneratedMessageLite类重写toString方法。该方法使用get
和set
以及has
方法。所以我将这个方法添加到proguard规则
# for toString debug
-keepclassmembers class * extends com.google.protobuf.GeneratedMessageLite {
*** get*();
*** set*(***);
*** has*();
}