安卓与Python的完全集成

6 投票
1 回答
1957 浏览
提问于 2025-04-16 09:40

有没有办法在安卓平台上将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:

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

撰写回答