有没有办法在 Android 平台上将 Python 与 Java 代码完全集成?
是的,我看到了the question about running Python on Android和 Android Scripting Environment (ASE) .
但这似乎还不够(如果我错了请纠正我)。我不仅希望能够从 Java 代码中调用 Python 脚本,而且希望能够实现完全集成。我最需要的功能是能够保存 python 代码的执行状态,并能够针对相同的执行状态按需运行多个代码部分。
在 JavaSE 上,我会依赖 Jython。我相信its simplest example显示了所有内容(以及一些其他功能,比如我称之为可变状态内省(introspection)的东西):
// 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");
在 Android 上可以吗? ASE 是可行的方法吗?
最佳答案
ASE 可能是要走的路。
我不是 Jython 专家,但我认为尝试走那条路的部分问题在于 Android 并不是真正的 Java——虽然基本语言相同,但 Android Java 代码不共享任何“标准”Java 库并将其编译成自己的字节码语言。
话虽如此,但有一个用于将 Jython 与 Android 结合使用的已停产项目。它的作者已经终止了该项目并将用户引导至 ASE:
关于java - android python 完全集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4641625/