6

有没有办法在 Android 平台上将 Python 与 Java 代码完全集成?

是的,我看到了关于在 AndroidAndroid 脚本环境 (ASE)上运行 Python 的问题。

但这似乎还不够(如果我错了,请纠正我)。我不仅希望能够从 Java 代码中调用 Python 脚本,而且希望能够完全集成。我最需要的功能是能够保存 python 代码的执行状态,并能够针对相同的执行状态按需运行多个代码部分。

在 JavaSE 上,我将依赖 Jython。我相信它最简单的例子说明了这一切(以及其他一些特性,比如我称之为可变状态自省的东西):

    // 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");

在安卓上可以吗?ASE是一条路吗?

4

1 回答 1

0

ASE可能是要走的路。

我不是 Jython 专家,但我认为尝试走这条路的部分问题是 Android 并不是真正的 Java——虽然基本语言相同,但 Android Java 代码不共享任何“标准" Java 库,它编译成自己的字节码语言。

话虽如此,有一个已停止使用 Jython 和 Android 的项目。它的作者已经终止了该项目,并将用户引导至 ASE:

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

于 2011-01-11T01:06:20.370 回答