8

我正在学习python,我不知道如果我想制作android应用程序对我有帮助。我在某处读过python可以制作android应用程序。但我想问你这是一个不错的选择还是我们应该始终使用 andriod studio 来制作 android 应用程序,因为它是专门为创建 android 应用程序而开发的。

4

6 回答 6

12

我是 Kivy 的核心开发人员,在其他一些答案中已经提到过。我认为这是为 android 制作 python 应用程序的主要选择,它既有优点也有缺点。

主要的技术缺点是(在我看来,我认为我看到人们提出的主要问题):

  • 启动速度:如果应用程序尚未运行,则启动 python 解释器需要很短的时间,在较旧的设备上最多需要几秒钟(或者如果你的代码写得不好,但这是可以避免的,则需要更长的时间),在此期间显示加载画面。

  • 缺乏原生的外观和感觉:Kivy 是它自己的基于 opengl 的图形框架,所以它看起来不像默认的 android 应用程序(它是可定制的,但仍然很难完美地模拟类似的东西)

  • APK 大小:因为要打包 python 解释器,所以最小的 apk 大小约为 7MB。

还有其他潜在的缺点,例如标准的非java问题,当它发生变化时必须赶上android api,但我认为这些更小问题,例如在这种情况下,因为你实际上可以直接调用大部分java api python 与 pyjnius。我有一篇关于这个的博客文章。另一个问题是 kivy 的社区与 java app 社区相比很小,但它也很活跃。

对于某些人来说,其中一项或多项是使用 Kivy 的直接或最终障碍。对于其他人来说,它们并不重要或被优势压倒,由于这些原因,有人在 Android(和 iOS)上商业使用 Kivy。就我个人而言,我最感兴趣的是“我写了一个简单的脚本”和“我做了一个很棒的 android 应用程序”之间的广阔空间,因为我认为将简单的东西捆绑为简单的应用程序应该比现在更容易,但那是只是我自己使用kivy的原因。

于 2015-05-27T00:45:41.387 回答
2

如果问题是,我可以在 android 上运行 python 程序,那么绝对可以。但是如果目的是创建一个移动应用程序 usibg python 那么请看一下尚未支持 python 3 的 kivy。但是在对 python 的热爱之外,最好坚持使用 android studio 来开发原生 android 应用程序。

于 2015-05-26T18:28:03.683 回答
2

Chaquopy ( https://chaquo.com/chaquopy/ ) 是 Android 上 Python 的一个选项。它是 Android Studio 的一个插件,因此可以包含两全其美的优点 - 使用 Android Studio 界面和 Gradle,以及 Python 中的代码。

从 Chaquopy 页面:

使用 Python API ,您可以部分或全部使用 Python 编写应用程序。完整的 Android API 和用户界面工具包直接供您使用。

对 Chaquopy 的深入评论位于http://blog.codelv.com/2018/02/a-look-at-chaquopy-python-sdk-for.html

Chaquopy 的创建者也对此评论发表了评论:

我认为 Android 上有许多不同的 Python 方法的空间。Chaquopy 专注于提供对标准 Android API 和构建工具的所有功能的完全访问权限。(例如,您提到的 XML 布局文件是使用 Android Studio 的 WYSIWYG 编辑器生成的:不必手动编写。)但是如果您想要更多 Pythonic 或可移植到其他平台,那么 enaml-native 或 Kivy是要走的路。

警告:我还没有(还)亲自测试过,所以我无法验证它的效果如何。这是相当复杂的。

附加:它似乎需要许可证密钥才能运行超过 5 分钟并且需要付款。如果您决定开发开源,则有一个“将始终免费”的开源许可证。

于 2018-11-28T14:19:05.607 回答
1

Android 没有附带 Python 解释器。因此,如果您想分发一个用 Python 编写的应用程序,则必须将 Python 解释器与它捆绑在一起。换句话说,甚至是“Hello World!” 应用程序将是巨大的。

所以是的,这是可能的。但不推荐。

于 2015-05-26T18:54:50.827 回答
1

尝试 kivy https://github.com/kivy/python-for-android

它可以用来创建安卓应用程序。

于 2015-05-26T19:26:39.967 回答
0

是的,您可以使用 1- Kivy 库 2- 在多功能机器上安装 Ubuntu 3- 运行 buildozer 将您的 main.py 文件传输到 APK 文件

于 2021-06-20T07:34:48.340 回答