android python 完全集成

Posted

技术标签:

【中文标题】android python 完全集成【英文标题】:android python full integration 【发布时间】:2011-06-06 05:04:55 【问题描述】:

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

是的,我看到了the question about running Python on android 和Android Scripting Environment (ASE)。

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

在 JavaSE 上,我会依赖 Jython。我相信its simplest example 展示了这一切(以及其他一些功能,比如我称之为可变状态自省的东西):

    // 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】:

ASE 可能是要走的路。

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

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

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

【讨论】:

谢谢。 '任何“标准” Java 库' - 这不是 100% 正确的。它确实共享一些包,只有其中一些被遗漏了。 Jythonroid - 是的,我看到了。

以上是关于android python 完全集成的主要内容,如果未能解决你的问题,请参考以下文章

android 集成支付宝app支付(原生态)-包括android前端与java后台

android 集成支付宝app支付(原生态)-包括android前端与java后台

android 集成支付宝app支付(原生态)-包括android前端与java后台

android 集成支付宝app支付(原生态)-包括android前端与java后台

android 集成支付宝app支付(原生态)-包括android前端与java后台

androi 多线程