2011-01-09 11 views
6

¿Hay alguna manera de integrar completamente Python con código Java en la plataforma Android?android python integración completa

Sí, vi the question about running Python on Android y Android Scripting Environment (ASE).

Pero eso no parece ser suficiente (corríjanme si me equivoco). Quería poder invocar un script de Python desde el código de Java, pero tener una integración completa. La característica que más necesito es la capacidad de tener un estado de ejecución del código python guardado y poder ejecutar varias partes de código bajo demanda contra el mismo estado de ejecución.

En JavaSE confiaría en Jython. Creo its simplest example muestra todo (y algunas otras características también, como algo que yo llamaría la introspección variable de estado):

// http://www.jython.org/archive/21/docs/embedding.html 
    PythonInterpreter interp = new PythonInterpreter(); 

    System.out.println("Hello, brave new world"); 
    interp.exec("import sys"); 
    interp.exec("print sys"); 

    interp.set("a", new PyInteger(42)); 
    interp.exec("print a"); 
    interp.exec("x = 2+2"); 
    PyObject x = interp.get("x"); 

    System.out.println("x: "+x); 
    System.out.println("Goodbye, cruel world"); 

¿Es posible en Android? ¿Es ASE un camino por recorrer?

+0

Muchos han intentado. – motoku

Respuesta

0

ASE es probablemente el camino a seguir.

No soy un experto en Jython, pero espero que parte del problema al tratar de seguir esa ruta es que Android no es realmente Java, mientras que el lenguaje base es el mismo, el código de Android no comparte ninguna de las bibliotecas Java "estándar" y se compila en su propio lenguaje de códigos de bytes.

Habiendo dicho eso, hay un proyecto difunto para usar Jython con Android. Su autor ha matado el proyecto y está dirigiendo a los usuarios a ASE:

http://code.google.com/p/jythonroid/

+0

Gracias. 'cualquiera de las "bibliotecas Java estándar' - eso no es 100% cierto. Comparte algunos paquetes, solo algunos quedan fuera. Jythonroid: sí, lo vi. –

Cuestiones relacionadas