我们正在开发一个S60版本,这个平台有一个不错的Python API。。

然而,Android上的Python并没有什么官方规定,但既然Jython存在,有没有办法让蛇和机器人一起工作??


当前回答

使用SL4A(它已经在其他答案中提到),您可以运行一个完整的web2py实例(其他python web框架也可能是候选)。SL4A不允许您使用本机UI组件(按钮、滚动条等),但它支持WebViews。WebView基本上只不过是指向固定地址的条带化web浏览器。我相信本地Gmail应用程序使用WebView而不是常规的小部件路线。

这条路线有一些有趣的特点:

在大多数python web框架的情况下,您实际上可以在不使用android设备或android模拟器的情况下进行开发和测试。无论你最终为手机编写了什么Python代码,只要稍加修改(如果有的话),就可以将其放到公共Web服务器上。你可以利用所有疯狂的网络资源:查询、HTML5、CSS3等。

其他回答

QPython公司

我使用QPython应用程序。它是免费的,包括一个代码编辑器、一个交互式解释器和一个包管理器,允许您直接在设备上创建和执行Python程序。

还有新的Android脚本环境(ASE/SL4A)项目。它看起来很棒,并且与原生Android组件有一些集成。

注意:不再处于“主动开发”状态,但可能会出现一些分叉。

您可以使用QPython:

它有Python控制台、编辑器以及包管理/安装程序

http://qpython.com/

这是一个同时具有Python 2和Python 3实现的开源项目。您可以直接从github下载源代码和Android.apk文件。

QPython 2:https://github.com/qpython-android/qpython/releases

QPython 3:https://github.com/qpython-android/qpython3/releases

Termux公司

您可以使用为Android提供POSIX环境的Termux应用程序来安装Python。

注意,apt-install-python将在Termux上安装Python3。对于Python2,您需要使用apt-installpython2。

一些演示:https://www.youtube.com/watch?v=fqqsl72mASEGitHub项目:https://github.com/termux

交叉编译和Ignifuga

我的博客有针对Android的Python 2.7.2交叉编译的说明和补丁。

我还开源了我的2D游戏引擎Ignifuga。它基于Python/SDL,并为Android进行交叉编译。即使你不在游戏中使用它,你也可以从代码或生成器实用程序中获得有用的想法(以Tim的名字命名为Schafer……你知道是谁)。