java - android python 完全集成

标签 java android python jython ase

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

是的,我看到了the question about running Python on AndroidAndroid 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:

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

关于java - android python 完全集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4641625/

相关文章:

python - Mongoengine:如何按嵌入式文档字段对嵌入式文档列表进行排序

java - 如何计算数组中字符串值中的字符数,然后将其与其他值进行比较以找到最长的字符?

java - 如何在Spring Boot中以Restfull方式将生成的PDF文档发送到前端?

java - 类术语 "attribute"vs "member"vs "variable"vs "field"

android - 'Paint'参数在android.graphics.Canvas.drawBitmap()中有什么作用?

java - 使用 python API 进行的训练作为 java API 中 LabelImage 模块的输入?

python - 什么时候线程?

java - 检查字符串是否完全显示在弹出窗口中

android - 当 S Pen 在 android note 中分离时,将您的应用程序置于最前面?

android - “通用图像加载器”丢失了我的 ImageView 的参数(大小和位置)