gRPC无法在树莓派(armv7l)上运行

时间:2019-10-30 16:36:07

标签: raspberry-pi grpc grpc-java

tl:/ dr:gRPC使树莓派上的云api停滞。

我被认为是因为Google Firebase可以工作(不使用gRPC),但是Google Firestore和Google TextToSpeech却停滞了(都使用gRPC),并且引发了很多涉及NativeLibraryLoader的警告-io_grpc_netty_shaded_netty_tcnative_linux_arm_32

这两个API(Firestore和TextToSpeech)都将进行身份验证,但是当我尝试做真实的事情时(在Firestore中列出文档,或在TTS中下载WAV),它只是...暂停。没有错误。完全相同的代码可以在笔记本电脑,相同的JRE(OpenJDK 11)上正常运行。

我在一个

上看到了这个问题
  • Raspberry Pi 3 Model B
  • Debian Buster(10.1)
  • Linux ev3dev 4.19.23-ev3dev-3-beta1-rpi2#1 SMP Sun Mar 3 21:13:28 CST 2019 armv7l GNU / Linux
  • openjdk版本“ 11.0.5” 2019-10-15
  • 科特林1.3

我的测试

  1. Firebase使用Java Admin API:连接,读取和监听实时更新。
  2. Firestore使用Java Admin API:连接(!),但是在读取集合时无限期挂起。
  3. TextToSpeech使用Java Admin API:连接(!),但在读取WAV文件时无限期挂起。

Log file demonstrating the warnings

尝试解决方法:

  • 从Java 8升级到OpenJDK 11
  • 手动包含io.netty:netty-tcnative-boringssl-static

原因为何如此严重:

  1. 它不仅会因“平台不支持”而出错,而且会永远停止。这使开发人员可以尝试调试许多因素。
  2. 有些Google Cloud产品使用gRPC,有些则没有。因此,业余爱好者必须对可能会破坏的地方进行研究。
  3. rPI对于物联网原型设计以及一般爱好者来说非常受欢迎。

0 个答案:

没有答案