我正在尝试使用com.google.android.things:androidthings
进行UART通信。我得到的问题是PeripheralManager.getInstance()
抛出java.lang.RuntimeException: Stub!
.
我正在使用带有Android SDK 25的瑞芯微RK3368设备。
我正在遵循Android文档中的指南:https://developer.android.com/things/sdk/pio/uart
PeripheralManager manager = PeripheralManager.getInstance();
堆栈跟踪如下:
W/System.err: java.lang.RuntimeException: Stub!
at com.google.android.things.pio.PeripheralManager.getInstance(PeripheralManager.java:21)
at com.eurotronik.library.common.serial.SerialClass.<init>(SerialClass.java:38)
at com.eurotronik.nursetabmode.serialport.SerialPortService.onCreate(SerialPortService.java:112)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3192)
at android.app.ActivityThread.-wrap5(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1568)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6121)
at java.lang.reflect.Method.invoke(Native Method)
存根是什么意思,我该如何解决这个问题?
存根是一个空函数。这些通常是要在库的未来版本中填写的占位符。
在您的情况下,由于您的目标是 Android SDK 25,因此您可能没有最新版本的库,其中的存根将在其中填充真实代码。
来自 Android 文档"创建 Android Things 项目":
在开始为事物构建应用之前,您必须:
将 SDK 工具更新
到版本 25.0.3 或更高版本 更新后的 SDK 工具使您能够构建和测试事物应用。
使用 Android 8.1(奥利奥(、API 27 或更高版本更新您的 SDK 更新的平台版本为物联网应用提供了新的 API。
FWIW,我对不同的"事物"类蓝牙连接管理器有同样的问题。不幸的是,我的 Android 版本不允许我更新到必要的 API 级别。
我希望你有更好的运气。