Native bridge between Python and Dalvik or AAF

android, dalvik, java-native-interface, python, python-cffi

Solution

(As per my original comment)

Are you aware of pyjnius? It is used by (for instance) the kivy python-for-android project to interact with java classes, including managing stuff like intent listening. I apologise if this is technically unsuitable, I don't know enough about this area.

As a minor reference, listener example implementing an intent listener interface in Python and registering it with Android runtime using `pyjnius`.

Super-simple example, calling into java.

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

Problem

Is there any project that bridges Python and Dalvik in same address space? That is an object created in one language can be registered as a listener in the other and vice versa? -- Python could be CPython or PyPy; Dalvik could be full Android Application Framework, or only Dalvik virtual machine, or in the worst case, could even be a non-Dalvik JVM; Bridge could be written in Python/cffi, Python/jni, native C/C++ code, or even java. Scripting environment, as far as I understand, doesn't do what I want. In case of a total lack of Python--Dalvik bridge, I'll take full-featured C/C++-based C/C++--Dalvik bridge as a valid answer as a last resort. Then an example is required on instantiating a on object in C/C++ land that can be submitted as a valid listener to some Android API at runtime, including security considerations.

Original source