kafka是否支持android客户端

kafka是否支持android客户端

 


前言

近段时间做了kafka相关的项目,项目概述:部署zookeeper+kafka+sasl集群,开发中心管理平台做kafka管理和监控,封装客户端jar包提供更为简洁的生产消息、消费消息的接口。

做完这些开发之后又考虑封装好的客户端jar包是否支持android开发,于是做了测试。


 

一、写android测试demo

在android studio中创建了简单android项目,并将封装好的客户端jar导入,页面添加一个按钮,按钮作用:调用jar包中生产者接口,创建一个生产者向kafka生产一条消息。

运行结果:

报错java.lang.NoClassDefFoundError: Failed resolution of: Ljava/lang/management/ManagementFactory;

发现了问题就一番查找。

二、网上找到的结果

看上去是因为kafka并不支持android环境。于是与kafka官网进行邮件沟通。

三、官网沟通结果

我发送的邮件:

官网的回复邮件:


总结

Android调用kafka的api时报错:java.lang.NoClassDefFoundError: Failed resolution of: Ljava/lang/management/ManagementFactory;

而java/lang/management/ManagementFactory 在rt.jar中,把rt.jar导入的android项目libs中报提示缺少libmanagement.so。

java.lang.management用于管理和监视Java VM,android的Dalvik VM不是Java VM,所以不支持。