android上的Jeromq:没有虚拟方法clear()Ljava/nio/ByteBuffer
我正在尝试将jeromq用于android项目。我需要连接到另一个经销商设备。这是我的密码:android上的Jeromq:没有虚拟方法clear()Ljava/nio/ByteBuffer,java,android,zeromq,jeromq,Java,Android,Zeromq,Jeromq,我正在尝试将jeromq用于android项目。我需要连接到另一个经销商设备。这是我的密码: ZContext zcontext = new ZContext(1); ZMQ.Socket zsocket = zcontext.createSocket(ZMQ.DEALER); String identity = "S61_phone"; zsocket.setIdentity(identity.getBytes(ZMQ.CHARSET)); zsocket.connect("tcp://my_
ZContext zcontext = new ZContext(1);
ZMQ.Socket zsocket = zcontext.createSocket(ZMQ.DEALER);
String identity = "S61_phone";
zsocket.setIdentity(identity.getBytes(ZMQ.CHARSET));
zsocket.connect("tcp://my_other_device_ip_and_port_here");
zsocket.send("test",0);
在connect调用时,发生错误:
2019-09-26 16:59:53.03318347-18379/?E/AndroidRuntime:致命
异常:Thread-4进程:com.flir.flironeexampleapplication,PID:18347 java.lang.NoSuchMethodError:No virtual method clear()Ljava/nio/ByteBuffer;在Ljava/nio/ByteBuffer类中;或者它的超类(声明'java.nio.ByteBuffer'出现在/system/framework/core oj.jar中)
在zmq.signer.send(signer.java:97)
在zmq.Mailbox.send(Mailbox.java:71)处
zmq.Ctx.sendCommand(Ctx.java:517)位于
zmq.ZObject.sendCommand(ZObject.java:382)位于
sendPlug(ZObject.java:185)位于
sendPlug(ZObject.java:175)位于
zmq.Own.launchChild(Own.java:115)位于
位于的zmq.SocketBase.addEndpoint(SocketBase.java:590)
SocketBase.connect(SocketBase.java:582)位于
org.zeromq.ZMQ$Socket.connect(ZMQ.java:2531)位于
flir.flironeexampleapplication.GLPreviewActivity.ondeviconnected(GLPreviewActivity.java:115)
位于com.flir.flironesdk.EmbeddedDevice$4.run(EmbeddedDevice.java:512)
运行(Thread.java:764)
我的环境:
- jeromq 0.5.2
- 执行代码的目标设备是Android 8.1(Oreo)
- 使用JDK 1.8.0_66/ndk r10e在Android Studio中编译
你知道问题出在哪里吗?非常感谢。我找到了一个解释和解决方法 Java 9为驱动程序使用的Java.nio.ByteBuffer中的以下方法引入了具有协变返回类型的重写方法
- 位置
- 极限
- 翻转
- 清楚的
您的安装有问题。这种方法肯定存在。