代码之家  ›  专栏  ›  技术社区  ›  Stanislav Mukhametshin

如何在Android中使用google/api/annotations.proto

  •  0
  • Stanislav Mukhametshin  · 技术社区  · 6 年前

    我有个问题 proto 我的proto文件中有import:

    import "google/api/annotations.proto";
    

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

    如何在项目中使用此导入?我应该在我的build.gradle中添加一些东西吗?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Eric Anderson    6 年前

    在非Android上,您可以将此依赖项添加到 build.gradle

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

    然而,Android使用Protobuf“Lite”而不是完整的Protobuf,并且没有为这个proto预先生成Lite库。有 an open issue about this .

    但是,针对 well-known protos 也可以在这里使用。即使用 protobuf compile 附属国。这将生成代码作为构建的一部分。

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

    不幸的是,这种解决方案只适用于应用程序。如果两个库使用这个“解决方案”,它们绝不能包含在同一个应用程序中,因为它们将复制(并且可能有不同版本的)生成的类。