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

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


当前回答

看看BeeWare。它已经大幅增长。它获得了PSF(Python软件基金会)教育资助。

Beeware的目标是能够使用Python为所有受支持的操作系统(包括Android)创建本地应用程序。

官方网站:Beeware

Github Repo:https://github.com/beeware

其他回答

如果您正在寻找3.4.2或更新版本(截至本文撰写时为3.9.6),另一个选择是GitHub上的这个存档。

Python 3 Android 3.4.2或Python 3 Android 3.9.6

我相信原始存档支持Python 3.4.2,最新的GRRedwings分支支持3.9.6和NDK的22b版本。较旧的分支支持其他版本,但使用docker编译起来不那么容易。

旧版本只需克隆存档,运行make,即可获得.so或.a

较新的版本遵循ReadMe,但它使用docker进行一致的构建。

我目前使用它在android设备上运行原始Python。通过对构建文件进行一些修改,您还可以使x86和armeabi 64位

看看enamal native,它采用了react native概念并将其应用于python。

它允许用户使用原生Android小部件构建应用程序,并提供使用python中的Android和java库的API。

它还与android studio集成,并共享react的一些优秀开发功能,如代码重载和远程调试。

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

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

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

您可以使用sl4a运行Python代码。sl4a支持Python、Perl、JRuby、Lua、BeanShell、JavaScript、Tcl和shell脚本。

您可以学习sl4a Python示例。

Termux公司

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

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

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