让 Dbus 的 Java 绑定在 Android 上运行

Posted

技术标签:

【中文标题】让 Dbus 的 Java 绑定在 Android 上运行【英文标题】:Getting Java Binding for Dbus to Run on Android 【发布时间】:2010-12-08 03:35:44 【问题描述】:

有没有人成功地在 android 上为 dbus 运行 Java 绑定?所有迹象都表明 dbus 已经作为 Android 操作系统中的一个进程运行,但没有通过 Java 接口为它们提供的官方访问点。提前致谢!

【问题讨论】:

【参考方案1】:

你不应该这样做,除非你在谈论你自己的总线和你控制的东西说话。不能保证 dbus 将可用。根据android邮件列表,it's just an implementation detail that dbus is around at all, it's not guaranteed to be there, and might not be there in the future.

【讨论】:

【参考方案2】:

您可以尝试使用 freedesktop 项目中的dbus-java。我不知道它是否适用于安卓强。

【讨论】:

感谢您的建议!我已经尝试过了,但它需要 Unix 套接字的 JNI 实现才能运行。这需要将 C 库推送到 Android 上,我不太确定该怎么做。我已经看到推送简单的程序是可能的,但我还没有看到推送完整的库。或者也许我只是没有正确运行 make。 你可以使用 TCP 代替 unix-sockets,然后你就有了纯 Java 库 你需要修改 dbus 库。没有 unix 套接字,没有什么比构建配置选项更好的了。 Android 一直通过 LocalSocket 类在 Java 中支持 Unix 域套接字(至少在某种程度上)。

以上是关于让 Dbus 的 Java 绑定在 Android 上运行的主要内容,如果未能解决你的问题,请参考以下文章

服务器和客户端中不同的 Dbus 绑定

如何在 Anaconda 中使用 Python Dbus 绑定

dbus NetworkManager:在 Java 中提供“/”作为 DBusInterface 参数

节点 dbus 网络管理器 IPV6 地址属性绑定

为啥蓝牙在android中需要DBUS通信方式?

dbus c:啥绑定(gdbus?)和客户端/服务器简单示例