又一次尝试: https://code.google.com/p/android-python27/
这个直接嵌入你的应用程序apk中的Python解释器。
“该 适用于Android的Pygame Subset 是Android平台的Pygame功能子集的端口。该项目的目标是允许创建特定于Android的游戏,并简化从类似PC的平台到Android的游戏移植。“
这些例子包括一个包装在APK中的完整游戏,非常有趣。
Chaquopy 是Android Studio基于Gradle的构建系统的插件。它着重于 紧密整合 使用标准的Android开发工具。
它提供了完整的API来调用 来自Python的Java 要么 来自Java的Python ,允许开发人员使用最适合其应用程序的每个组件的语言。
它可以自动下载 PyPI包 并将它们构建到应用程序中,包括选定的本机程序包,如NumPy。
它支持从Python完全访问所有Android API,包括本机用户界面工具包( 示例纯Python活动 )。
这是一个商业产品,但它可以免费用于开源使用,并且将始终保持这种状态。
(我是这个产品的创造者。)
似乎还有一个选择 pyqtdeploy 引用文档的是:
与Qt一起提供的其他工具一起使用的工具 使用Python编写的PyQt4和PyQt5应用程序的部署 v2.7或Python v3.3或更高版本。它支持部署到桌面 平台(Linux,Windows和OS X)和移动平台(iOS和Linux) Android的)。
根据 通过pyqtdeploy和Qt5将PyQt5应用程序部署到Android 它是积极开发的,虽然很难找到工作Android应用程序的示例或如何将所有必需的库交叉编译到Android的教程。尽管如此,这是一个有趣的项目!
还有可能运行mosync的python-on-a-chip: 谷歌组
您可以使用运行Python代码 SL4A 。 sl4a支持Python, Perl的 , JRuby的 , LUA ,BeanShell,JavaScript, TCL 和shell脚本。
你可以学习sl4a Python示例 。
是! : Android脚本环境
一个例子 通过Matt Cutts 通过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)
没有看到这个发布在这里,但你可以用Pyside和Qt做到现在Qt可以在Android上运行,感谢Necessitas。
目前看来这只是一个很好的克服,但最终可能是一条可行的路线......
http://qt-project.org/wiki/PySide_for_Android_guide
您可以使用 的 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
还有新的 Android脚本环境 (ASE / SL4A)项目。它看起来很棒,并且与原生Android组件有一些集成。
注意:不再在“积极开发”下,但有些叉子可能会。
我想发布这个作为内容的延伸 的 @JohnMudd 强> 已经回答了( 但请耐心等我,因为英语不是我的第一语言 )
从那时起已经有好几年了,Kivy已经发展到v1.9-dev。在我看来,Kivy的最大卖点是它的跨平台兼容性。您可以在本地环境(Windows / * nix等)下进行编码和测试,也可以构建,调试和打包您的应用程序,以便在Android / iOS / Mac / Windows设备上运行。
有了Kivy自己的 KV 语言,您可以轻松编写和构建GUI界面(它就像Java XML,而不是TextView等,KV有自己的 ui.widgets 对于类似的翻译),在我看来很容易采用。
ui.widgets
目前 Buildozer 和 蟒蛇换机器人 是最适合构建/打包应用程序的工具。我已经尝试过它们并且可以坚定地说它们使用Python构建Android应用程序变得轻而易举。在控制台/终端/命令提示符下感到舒服的用户在使用它们时应该没有问题,并且他们的指南也有很好的记录。
此外,iOS是Kivy的另一大卖点,前提是您可以使用相同的代码库,只需对iOS设备上的测试运行进行少量更改, kivy-IOS Homebrew工具,虽然在他们的设备上运行之前需要Xcode(AFAIK Xcode中的iOS模拟器目前不适用于x86架构构建)。还有一些依赖性问题必须在Xcode中手动编译和摆弄才能成功构建,但是它们不会太难解决,而且人们在 Kivy Google Group 真的很有帮助。
总而言之,拥有良好Python知识的用户在几周(如果不是几天)构建一些简单的应用程序时应该没有问题。
另外值得一提的是,您可以使用构建捆绑(构建配方)您的Python模块,这样用户就可以真正利用Python带给我们的许多现有库,比如 要求 &安培; PIL 通过 Kivy的扩展支持 。
有时您的应用程序需要的功能超出了 Kivy可以提供的范围。在那些情况下,有必要 求助于外部软件库。鉴于丰富的 Python生态系统,已经有很多软件 您可以直接导入和使用的库。
最后但并非最不重要的是,如果您打算将Kivy用于更严肃/商业项目,您可能会发现现有模块并不令人满意。但是有一些可行的解决方案,其中包括“正在进行的工作” pyjnius 对于Android,和 pyobjus 。用户现在可以通过这些模块访问Java / Objective-C类来控制一些本机API。
我在Kivy的经验是,它会发现它最适合经验丰富的Python程序员和一些想要快速开发或简单代码库维护的认真程序员。它在多个平台上运行良好,尽管不是真的 本地人 感觉。
的 我希望一些Python应用程序程序员发现这些信息很有用,并开始看看Kivy。如果社区有很大的兴趣,它只能变得更好(有更多的支持和库/模块被移植)。 强>
附:我与Kivy没有任何关系,我只是一个非常喜欢将Python编码带入移动/跨平台开发的想法的程序员。 EM>
使用SL4A(已经在其他答案中已经提到过),你可以 跑 一个全面的 的web2py 实例(其他 python web框架 也可能是候选人)。 SL4A不允许您使用本机UI组件(按钮,滚动条等),但它确实支持 网页视图 。 WebView基本上只是指向固定地址的条带化Web浏览器。我相信原生Gmail应用使用WebView而不是常规小部件路径。
这条路线有一些有趣的特点:
来自 Python for android 现场:
Python for android是一个创建自己的Python发行版的项目,包括你想要的模块,并创建一个包含python,libs和你的应用程序的apk。
不是现在,你很幸运能让Jython尽快上班。如果您现在计划开始开发,那么现在只需坚持使用Java就可以了。
您可以使用 Termux 应用:
注意,apt安装python install python 3。 对于python 2,你应该调用apt install python2。
这里有一些演示: https://www.youtube.com/watch?v=fqqsl72mASE
还有github页面: https://github.com/termux
查看 enaml本土 它采用react-native概念并将其应用于python。
它允许用户使用原生Android小部件构建应用程序,并提供API以使用python中的android和java库。
它还与android-studio集成,并分享一些反应良好的开发功能,如代码重新加载和远程调试。