安卓与Python的完全集成
有没有办法在安卓平台上将Python和Java代码完全整合在一起?
是的,我看到过关于在安卓上运行Python的问题,以及安卓脚本环境(ASE)的相关内容。
不过,这似乎还不够(如果我错了请纠正我)。我希望不仅能从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是一个可行的方案吗?
1 个回答
0
ASE可能是个不错的选择。
我不是Jython方面的专家,但我觉得尝试这个方向可能会遇到一些问题,因为Android其实并不完全是Java。虽然它们的基础语言是一样的,但Android的Java代码并不使用任何“标准”的Java库,而且它会编译成自己的一种字节码语言。
不过,确实有一个已经停止更新的项目是用Jython在Android上运行的。这个项目的作者已经放弃了,并且建议用户使用ASE: