在 android studio 上使用 protobuf 的问题
Issue using protobuf on android studio
我刚开始使用 google RPC 库来处理 android 内容。我正在尝试整合以下 link、https://github.com/GoogleCloudPlatform/android-docs-samples/tree/master/speech/Speech on my final year project which is an android chatbot. But I seems to be having hiccups. As after building using the following build.gradle, myGradle。似乎构建文件 "StreamingRecognizeResponse.java" 没有 "IS_INITIALIZED, MAKE_IMMUTABLE & VISIT"。
所以我进一步挖掘并注意到他们使用的是与 github 不同的 GeneratedMessageLite.java 文件。
在我的例子中,文件使用的是 fromprotobuf-javalite-3.11.0,而示例使用的是 from protobuf-lite-3.0.1
我发现示例插件被突出显示而我的没有,而且他们也在使用不同的库 exampleGradle。
如果我右键单击我的 "plugins" > 转到 > 声明或用法。它向我展示了 ProtobufConfigurator.groovy。
虽然示例中使用 PluginAware.java。
我卡在这部分了。希望任何人都能给我解决这个问题的方法。谢谢!
如果我缺少任何信息,请告诉我!
protoc 插件版本(即 protoc-gen-javalite)应始终与 javalite 运行时版本匹配,因为 protobuf lite 有 no API/ABI stability guarantee。
Lite 最近重新集成到 protoc
中,因此不再是一个单独的插件。要使用较新的精简版运行时交换到较新的协议,并为 java
内置函数指定 "lite" 选项。
protobuf {
protoc {
// must match protobuf-javalite version
artifact = 'com.google.protobuf:protoc:3.11.0'
}
plugins {
grpc {
artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}"
}
}
generateProtoTasks {
all().each { task ->
task.builtins {
java { option 'lite' }
}
task.plugins {
grpc { option 'lite' }
}
}
}
}
我刚开始使用 google RPC 库来处理 android 内容。我正在尝试整合以下 link、https://github.com/GoogleCloudPlatform/android-docs-samples/tree/master/speech/Speech on my final year project which is an android chatbot. But I seems to be having hiccups. As after building using the following build.gradle, myGradle。似乎构建文件 "StreamingRecognizeResponse.java" 没有 "IS_INITIALIZED, MAKE_IMMUTABLE & VISIT"。
所以我进一步挖掘并注意到他们使用的是与 github 不同的 GeneratedMessageLite.java 文件。
在我的例子中,文件使用的是 fromprotobuf-javalite-3.11.0,而示例使用的是 from protobuf-lite-3.0.1
我发现示例插件被突出显示而我的没有,而且他们也在使用不同的库 exampleGradle。
如果我右键单击我的 "plugins" > 转到 > 声明或用法。它向我展示了 ProtobufConfigurator.groovy。 虽然示例中使用 PluginAware.java。
我卡在这部分了。希望任何人都能给我解决这个问题的方法。谢谢! 如果我缺少任何信息,请告诉我!
protoc 插件版本(即 protoc-gen-javalite)应始终与 javalite 运行时版本匹配,因为 protobuf lite 有 no API/ABI stability guarantee。
Lite 最近重新集成到 protoc
中,因此不再是一个单独的插件。要使用较新的精简版运行时交换到较新的协议,并为 java
内置函数指定 "lite" 选项。
protobuf {
protoc {
// must match protobuf-javalite version
artifact = 'com.google.protobuf:protoc:3.11.0'
}
plugins {
grpc {
artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}"
}
}
generateProtoTasks {
all().each { task ->
task.builtins {
java { option 'lite' }
}
task.plugins {
grpc { option 'lite' }
}
}
}
}