【问题标题】:How to use google/api/annotations.proto with Android如何在 Android 中使用 google/api/annotations.proto
【发布时间】:2018-11-08 12:39:59
【问题描述】:

我的项目中的proto 文件有问题 我在我的 proto 文件中导入了:

import "google/api/annotations.proto";

我在构建项目时遇到以下错误。

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

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

【问题讨论】:

    标签: java android gradle protocol-buffers grpc


    【解决方案1】:

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

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

    但是,Android 使用 Protobuf“Lite”而不是完整的 Protobuf,并且没有用于此原型的 Lite 预生成库。有an open issue about this

    但是,这里也可以使用针对well-known protos 讨论的解决方法。即,使用 protobuf 依赖而不是 compile 依赖。这将生成代码作为构建的一部分。

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

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

    【讨论】:

    • 添加 protobuf 'com.google.api.grpc:googleapis-common-protos:0.0.3' 解决了我的问题
    • proto-google-common-protos 不适合你吗? googleapis-common-protos 已失效且未收到任何更新。 It's repo 建议使用 proto-google-common-protos。
    • proto-google-common-protos 正在工作。我认为您的解决方案更好。
    猜你喜欢
    • 2018-06-04
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 2011-04-19
    相关资源
    最近更新 更多