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

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


当前回答

交叉编译和Ignifuga

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

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

其他回答

又一次尝试:https://code.google.com/p/android-python27/

这一个直接将Python解释器嵌入到你的应用程序apk中。

Android版Pygame子集

Pygame是一个适用于Python(桌面)的2D游戏引擎,深受新程序员的欢迎。Android的Pygame子集描述自己为。。。

…Pygame功能子集到Android平台的端口。该项目的目标是允许创建特定于Android的游戏,并简化游戏从类似PC的平台到Android的移植。

示例包括一个完整的APK游戏,非常有趣。

这里没有看到这篇文章,但你可以用Pyside和Qt来做,因为有了Neceditas,Qt可以在Android上运行。

目前看来这是一条相当混乱的路线,但最终可能是一条可行的路线。。。

http://qt-project.org/wiki/PySide_for_Android_guide

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

您可以学习sl4a Python示例。

Kivy

我想补充@JohnMudd写的关于Kivy的内容。他描述的情况已经过去多年了,Kivy已经发生了实质性的变化。

在我看来,Kivy最大的卖点是它的跨平台兼容性。您可以使用任何桌面环境(Windows/*nix等)对所有内容进行编码和测试,然后将应用程序打包到一系列不同的平台上,包括Android、iOS、MacOS和Windows(尽管应用程序通常缺乏原生外观)。

使用Kivy自己的KV语言,您可以轻松地编写和构建GUI界面(它与JavaXML类似,但与TextView等不同,KV有自己的ui.widget用于类似的翻译),我认为这很容易采用。

目前,android的Buildozer和python是构建和打包应用程序的最推荐工具。我已经尝试了这两种方法,可以肯定地说,它们让用Python构建Android应用程序变得轻而易举。他们的指南也有很好的记录。

iOS是Kivy的另一大卖点。您可以使用相同的代码库,通过kivy ios Homebrew工具进行少量更改,尽管在设备上运行之前,构建需要Xcode(AFAIK Xcode中的ios模拟器目前不适用于x86架构构建)。还有一些依赖性问题,必须手动编译并在Xcode中摆弄才能成功构建,但这些问题不太难解决,Kivy Google Group的员工也很有帮助。

尽管如此,拥有良好Python知识的用户应该可以快速掌握基本知识。

如果您将Kivy用于更严肃的项目,您可能会发现现有模块不令人满意。但也有一些可行的解决方案。使用(正在进行中的)pyjnius for Android和pyobjus,用户现在可以访问Java/Objective-C类来控制一些本地API。