Question

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.

Was it helpful?

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

OTHER TIPS

There is in fact a module called android in python. It can do quite a lot on an android system. You can download it here: https://pypi.python.org/pypi/python-android

There is also a python/java bridge that also supports Dalvik handling. Here is where you can get the software: https://bitbucket.org/reasonspace/reasonspace/src

Both of these should supply a good way to interface python and Android systems. If you wanted you could also probably get them both to read and write files to send messages or create some kind of similar way to communicate, but the above projects are better ways to do it.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top