jython 安卓python android运行python - 有没有办法在Android上运行Python?





12 Answers

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

注意:不再在“积极发展”下,但有些分叉可能会。

studio运行python qpython qpython3

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

然而,Android上并没有官方的关于Python的内容,但是由于Jython存在,是否有办法让蛇和机器人一起工作?




还有Google员工编写的SL4A




我已经发布了针对Android的交叉编译Python 2.7.2的说明和补丁,您可以在我的博客中获取它: http://mdqinc.com/blog/2011/09/cross-compiling-python-for-android/ : http://mdqinc.com/blog/2011/09/cross-compiling-python-for-android/

编辑:我已经开源Ignifuga ,我的2D游戏引擎,它是基于Python / SDL的,它为Android进行交叉编译。 即使你不使用它来进行游戏,你也可以从代码和构建器工具中获得有用的想法(在Tim之后,你知道是谁)。




作为一名Python爱好者和Android程序员,我很难过地说这不是一个真正的好方法。 有两个问题。

一个问题是,Android开发工具不仅仅是一种编程语言。 很多Android图形涉及XML文件来配置显示,类似于HTML。 内置的java对象实际上与这个XML布局集成在一起,比编写你自己的代码从逻辑到位图要容易得多。

另一个问题是,G1(以及可能在不久的将来其他Android设备)真的不是那么快。 200 MHz处理器,而且RAM非常有限。 即使在Java中,如果要使应用程序完美平滑,还必须进行大量重写以避免更多对象的创建。 Python仍然会在移动设备上运行一段时间太慢。




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

这条路线会有一些有趣的功能:

  • 在大多数python web框架的情况下,你可以实际开发和测试,而不使用android设备或android模拟器。
  • 无论您最终为手机编写的Python代码是什么,都可以通过很少(如果有)修改的方式将其放在公共网络服务器上。
  • 您可以利用所有疯狂的网页内容:查询,HTML5,CSS3等。



我使用QPython应用程序。 它有一个编辑器,一个控制台,你可以用它来运行你的Python程序。 该应用程序是免费的,链接是http://qpython.com/







你可以使用sl4a来运行你的Python代码。 sl4a支持Python, PerlJRubyLua ,BeanShell,JavaScript, Tcl和shell脚本。

您可以学习sl4a Python示例




还有可能运行mosync: google组的 python-on-a-chip




在这里没有看到这篇文章,但是你可以用Pyside和Qt来完成,现在Qt在Android上运行,这要归功于Necessitas。

这似乎是相当混乱,但最终可能是一条可行的路线......

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




在Playstore中有一个名为QPython3的应用程序,可用于编辑和运行python脚本。

Playstore链接

另一个名为Termux的应用程序,您可以在其中使用命令安装python

pkg install python

Playstore链接




Chaquopy

Chaquopy是Android Studio的基于Gradle的构建系统的插件。 它侧重于与标准Android开发工具的紧密集成

  • 它提供了完整的API来从PythonJava调用Java ,允许开发人员使用最适合其应用程序的每个组件的语言。

  • 它可以自动下载PyPI包并将它们构建到应用程序中,包括选定的本地包(如NumPy)。

  • 它支持从Python完全访问所有Android API,包括本地用户界面工具包( 示例纯Python活动 )。

这是一个商业产品,但它对开放源代码的使用是免费的,并且始终保持这种状态。

(我是这个产品的创造者。)






Related