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





安卓python studio运行python (21)


我已经发布了针对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之后,你知道是谁)。

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

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




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

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

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




如果你正在寻找3.4.2或3.5.1的另一个选择是GitHub上的这个档案。

Python3-Android 3.4.2Python3-Android 3.5.1

它目前支持Python 3.4.2或3.5.1以及NDK的10d版本。 它也可以支持3.3和9c,11c和12

很简单,只需下载它,运行make,即可得到.so或.a

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




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

这些例子包括一个包装在APK中的完整游戏,这非常有趣。










google-opensource.blogspot.com/2009/06/…

一个例子通过马特卡茨通过SL4A - “这是一个用六行Python代码编写的条形码扫描器:

import android
droid = android.Android()
code = droid.scanBarcode()
isbn = int(code['result']['SCAN_RESULT'])
url = "http://books.google.com?q=%d" % isbn
droid.startActivity('android.intent.action.VIEW', url)



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

您可以学习sl4a Python示例




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

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










Chaquopy

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

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

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

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

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

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




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

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

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




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




Kivy

我想将此作为@JohnMudd已经回答的延伸发布( 但请耐心听我说,因为英语不是我的第一语言

从那以后数年,Kivy已经发展到v1.9-dev。 在我看来,Kivy的最大卖点是它的跨平台兼容性。 您可以在本地环境(Windows / * nix等)下进行编码和测试,还可以构建,调试和打包应用以在Android / iOS / Mac / Windows设备上运行。

使用Kivy自己的KV语言,您可以轻松编写和构建GUI界面(就像Java XML一样,而不是TextView等,KV对于类似的翻译有它自己的ui.widgets ),在我看来这很容易采用。

目前Buildozerpython-for-android是构建/打包应用程序最推荐的工具。 我已经尝试过他们,可以坚定地说,他们使用Python构建Android应用程序变得轻而易举。 在控制台/终端/命令提示符下感觉舒适的用户在使用它们时应该没有问题,并且他们的指南也有很好的文档记录。

此外,iOS是Kivy的另一大卖点,前提是您可以使用相同的代码库,只需在基于kivy-ios Homebrew工具的iOS设备上进行测试运行所需的小改动即可,但运行前需要Xcode他们的设备(AFAIK Xcode中的iOS模拟器目前不适用于x86架构版本)。 还有一些依赖问题必须在Xcode中手动编译和摆弄才能成功构建,但它们不会太难以解决,而且Kivy Google Group中的人员也真的很有帮助。

所有人都说,拥有良好Python知识的用户应该在几周内(如果不是几天)提取基本知识,就可以构建一些简单的应用程序。

另外值得一提的是,您可以将Python模块与构建绑定(构建配方),以便用户可以真正利用Python带给我们的许多现有库,例如通过Kivy的扩展支持 RequestsPIL等。

有时候,您的应用程序需要的功能超出了Kivy所能提供的范围。 在这些情况下,有必要诉诸外部软件库。 鉴于Python生态系统的丰富性,已经有很多软件库可以直接导入和使用。

最后但并非最不重要的,如果您打算将Kivy用于更严肃的商业项目,您可能会发现现有的模块不能令人满意。 尽管如此,仍有一些可行的解决方案,用于Android的pyjniuspyobjus的“正在进行中”。 用户现在可以通过这些模块访问Java / Objective-C类来控制一些本地API。

我在Kivy的经验是,它会找到最适合经验丰富的Python程序员和一些想要快速开发或简单代码库维护的严肃程序员。 它在多个平台上运行良好,尽管不是真正的本地感觉。

我希望一些Python应用程序员能够发现这些有用的信息,并开始关注Kivy。 如果社区有很大的兴趣,它只会变得更好(如果有更多的支持,以及图书馆/模块的移植)。

PS我与基维没有任何关系,我只是一个程序员,他非常喜欢将Python编码带入移动/跨平台开发的乐趣。




还有Google员工编写的SL4A




一种方法是使用Kivy

开源Python库,用于快速开发利用创新用户界面(如多点触控应用程序)的应用程序。

Kivy运行在Linux,Windows,OS X,Android和iOS上。 您可以在所有支持的平台上运行相同的[python]代码。

Kivy Showcase应用程序




另外一个选项似乎是引用文档的pyqtdeploy

一个与Qt提供的其他工具结合使用的工具可以部署使用Python v2.7或Python v3.3或更高版本编写的PyQt4和PyQt5应用程序。 它支持部署到桌面平台(Linux,Windows和OS X)和移动平台(iOS和Android)。

根据通过pyqtdeploy和Qt5PyQt5应用程序部署到Android ,尽管很难找到有效的Android应用程序示例或者如何将所有必需的库交叉编译为Android的教程,但它仍在积极开发之中。 但要记住这是一个有趣的项目!




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

Playstore链接

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

pkg install python

Playstore链接




目前还没有,你很幸运能够让Jython尽快开始工作。 如果你打算现在开始你的开发,那么现在只需坚持使用Java就会更好。




英特尔于2012年5月15日发布了ICS仿真器的推荐安装说明 。这对我有用。 模拟器现在很快,UI很流畅。

上半部分说明已经足够详细,因此我假设您可以使用Android SDK管理器以及Intel HAXM安装Intel x86 Atom系统映像。

现在确保设置其他所有内容,以便您可以享受高性能的模拟器:

然后开始吧:

sudo kextload -b com.intel.kext.intelhaxm (mac)

如果HAXM工作正常,您可能会在启动模拟器时看到此消息:

HAX正在运行,模拟器以快速virt模式运行

否则您可能会看到此错误:

HAX无法正常工作,仿真器在仿真模式仿真器中运行:
无法打开hax模块

  • 使用GPU模拟。 在撰写本文时,使用GPU仿真时无法使用“快照”选项。 确保GPU仿真设置为“是”。

  • 将设备内存设置为1024 MB或更多 ,但不超过Intel HAXM设置。 我每台设备使用1024 MB,HAXM使用2048。

保存后请务必仔细检查设置! 模拟器对于它允许您设置的内容非常挑剔,它将在不告诉您的情况下还原配置。

使用这些设置,软件键盘不再出现,屏幕后退,菜单和最近的键也不再出现。 这似乎是当前ICS Intel x86系统映像的限制。 您需要使用键盘快捷键

在Mac OS上,您需要按住fn + control才能使F1 - F12键正常工作。 可以使用控制+箭头键执行向上/向下/向左/向右翻页。





android python jython ase android-scripting