android - Python 和 Dalvik 或 AAF 之间的本地桥梁

标签 android python java-native-interface dalvik python-cffi

是否有任何项目在同一地址空间中桥接 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 的有效监听器提交,包括安全考虑。

最佳答案

(根据我原来的评论)

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

作为次要引用,listener example在 Python 中实现 Intent 监听器接口(interface),并使用 pyjnius 将其注册到 Android 运行时。

super 简单的示例,调用 java。

>>> from jnius import autoclass
>>> autoclass('java.lang.System').out.println('Hello world')
Hello world

关于android - Python 和 Dalvik 或 AAF 之间的本地桥梁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20045784/

相关文章:

android - ViewPager 选项卡和抽屉布局可能吗?

Android:切换ToggleButton的文本颜色

android - 如何在 NDK 中将 ascii 转换为 char?

android - onIabPurchaseFinishedListener 永远不会被调用

android - 有没有办法让 Fragment 无需通过 Activity 即可接收 Intent 数据?

python - 类型错误 : <lambda>() missing 1 required positional argument: 'count' when using lambda to sort a python 3 dictionary

python - 在 Django 中将通用图像字段添加到 ModelForm

python - 获取目录中所有文件名的列表及其原始文件夹顺序

java - 如何从 JNI 调用类方法并将返回值强制转换为自定义类

java - Windows 10 升级后调用 native DLL 时 Netbeans 中出现 UnsatisfiedLinkError