8

有没有在同一地址空间中连接 Python 和 Dalvik 的项目?

那就是用一种语言创建的对象可以在另一种语言中注册为侦听器,反之亦然?

--

Python 可以是 CPython 或 PyPy;

Dalvik 可以是完整的 Android 应用程序框架,或者只是 Dalvik 虚拟机,或者在最坏的情况下,甚至可以是非 Dalvik JVM;

Bridge 可以用 Python/cffi、Python/jni、本机 C/C++ 代码甚至 java 编写。

据我所知,脚本环境并没有做我想做的事。

如果完全没有 Python--Dalvik 桥,我将把全功能的基于 C/C++ 的 C/C++--Dalvik 桥作为最后的有效答案。然后需要一个在 C/C++ 领域实例化 on 对象的示例,该对象可以在运行时作为有效侦听器提交给某些 Android API,包括安全考虑。

4

2 回答 2

4

(根据我原来的评论)

你知道pyjnius吗?它被(例如)kivy python-for-android 项目用于与 java 类交互,包括管理诸如意图监听之类的东西。如果这在技术上不合适,我深表歉意,我对这方面的了解不够。

作为一个次要参考,监听器示例在 Python 中实现了一个意图监听器接口,并使用pyjnius.

超级简单的例子,调用java。

>>> from jnius import autoclass
>>> autoclass('java.lang.System').out.println('Hello world')
Hello world
于 2013-11-27T12:01:39.033 回答
2

实际上python中有一个叫做android的模块。它可以在安卓系统上做很多事情。你可以在这里下载:https ://pypi.python.org/pypi/python-android

还有一个 python/java 桥也支持 Dalvik 处理。您可以在此处获取该软件: https ://bitbucket.org/reasonspace/reasonspace/src

这两者都应该提供一种很好的方式来连接 python 和 Android 系统。如果您愿意,您也可以让他们同时读取和写入文件以发送消息或创建某种类似的通信方式,但上述项目是更好的方法。

于 2013-11-22T03:28:33.247 回答