当前位置: 首页 > 知识库问答 >
问题:

kotlin android的gRPC:导入“google/protobuf/wrappers.proto”不起作用

空英逸
2023-03-14

我在https://github.com/grpc/grpc-java/tree/master/examples/example-kotlin/android/helloworld创建了一个gRPC项目,非常类似于kotlin android项目的示例gRPC

如果我使用示例proto文件,构建过程就会正常工作。但现在,我已经用不同的原始文件替换了这些原始文件,Gradle无法构建我的项目。

这是失败的原型文件:

syntax = "proto3";

package tensorflow.serving;
option cc_enable_arenas = true;

import "google/protobuf/wrappers.proto";

// Metadata for an inference request such as the model name and version.
message ModelSpec {
  // Required servable name.
  string name = 1;

  // Optional version.
  google.protobuf.Int64Value version = 2;

  // A named signature to evaluate. If unspecified, the default signature will
  // be used.
  string signature_name = 3;
}

错误消息为:

  Cause: protoc: stdout: . stderr: app/build/extracted-include-protos/main: warning: directory does not exist.
  app/build/extracted-include-protos/main: warning: directory does not exist.
  app/src/debug/proto: warning: directory does not exist.
  app/src/debug/proto: warning: directory does not exist.
  google/protobuf/wrappers.proto: File not found.
  model.proto: Import "google/protobuf/wrappers.proto" was not found or had errors.
  model.proto:30:3: "google.protobuf.Int64Value" is not defined.

共有1个答案

子车高歌
2023-03-14

普通protobuf jar附带的“知名”protos不包含在protobuf-lite jar中,kotlin Android示例正在使用该jar。已在中跟踪问题https://github.com/protocolbuffers/protobuf/issues/1889

作为一种解决方法,您可以将普通protobuf jar中的protos添加到您的项目中:

dependencies {
  protobuf 'com.google.protobuf:protobuf-java:3.5.1'
}
 类似资料:
  • 我正在尝试实施gRPC,现在我遇到了各种各样的问题,但我就是不明白我做错了什么。我遵循这个文档:https://github.com/grpc/grpc-java/blob/master/README.md 现在,当我试图构建我的项目时,我总是会遇到这样的错误 在我的Android Studio外部库中,我有Pro buf-java-3.12.1 jar。 在我的project gradle文件中

  • 我正在使用Ubuntu14.04计算机,试图将google.protobuf模块导入到Python2.7中。 我已经试过了 和 没有成功。 在python内部,我得到一个错误,即: “导入错误:没有名为google.protobuf的模块” 编辑1: 对不起,谢谢大家的评论。我还是Ubuntu和StackOverflow的新手。 具体来说,我输入到命令行 并获得反馈 Traceback(最近的调用

  • 我试图理解protobuf和gRPC,以及如何使用这两种方法。你能帮我理解以下几点吗: 考虑到OSI模型,在哪里,例如Protobuf在第4层? 通过消息传输来思考“流”是怎样的,gRPC在做什么而protobuf错过了什么? 如果发送方使用protobuf,服务器是否可以使用gRPC,或者gRPC是否添加了只有gRPC客户端才能提供的内容? 如果gRPC可以使同步和异步通信成为可能,那么Prot

  • ProtoBuf 与 gRPC ProtoBuf 是一套接口描述语言(IDL)和相关工具集(主要是 protoc,基于 C++ 实现),类似 Apache 的 Thrift)。用户写好 .proto 描述文件,之后使用 protoc 可以很容易编译成众多计算机语言(C++、Java、Python、C#、Golang 等)的接口代码。这些代码可以支持 gRPC,也可以不支持。 gRPC 是 Goog

  • 这可能是个愚蠢的问题,但我无论如何也无法解决。我有一个JavaScript文件,其中包含我想要导出的各种函数。 当我调用这个方法(使用mocha)时,我得到一条错误消息“export function AddNumbers(…numbers)Unexpected token export”。该项目构建为ES6。有人知道我做错了什么吗? 最好的问候,托斯顿

  • 问题内容: 我似乎无法让绝对导入在python中工作。这是我的文件结构: foo.py: 我反而得到: 这到底是怎么回事?我觉得我缺少基本的东西。尽管这个例子很简单,但我需要绝对导入才能为实际项目工作,因此仅用相对导入替换导入是不可行的。我正在使用python 2.7.13 预先感谢您的任何见解! 问题答案: 由于未显示,因此我必须假设您正在运行,这会将脚本()的目录放在开始的位置,而实际上您希望