问题:如何用python完全制作Android应用程序?[关闭]
我想开发一个(相当简单)的Android应用程序,可通过Play商店进行分发。我想在python中完全这样做。但是,在线研究并没有启发我:大多数评论要么已经过时(> 1岁,并且我认为从那时起可能会更好地集成python),要么他们谈论在android中运行python(例如here)。
因此,我正在寻找有关以下问题的信息:
- 用python完全开发App是否可行-这样做的工具是什么?(例如,推荐Kivy吗?)
- 如果是这样:最佳软件环境是什么?(我尝试使用Android Studio失败,但是找不到在其中运行python代码的方法。)
我对应用程序开发非常陌生,非常感谢在python中而不是在Jave等中进行此操作的所有线索,我尚不知道。
非常感谢您的提前帮助。
回答 0
回答您的第一个问题:是的,用纯python开发一个android应用程序是可行的,为了实现这一目标,我建议您使用BeeWare,它只是一套python工具,可以很好地协同工作,使您能够开发python中的平台本机应用程序。
结帐这个视频由BeeWare的创造者,完美解释并演示了它的应用
这个怎么运作
Android的首选实现语言是Java-因此,如果您想用Python编写Android应用程序,则需要一种在Java虚拟机上运行Python代码的方法。这就是VOC所做的。VOC是一个编译器-它获取Python源代码,将其编译为CPython字节码,然后将该字节码转换为与Java兼容的字节码。最终结果是将您的Python源代码文件直接编译为Java .class文件,然后可以将其打包到Android应用程序中。
VOC还允许您像访问Python对象一样访问本机Java对象,使用Python类实现Java接口,以及使用Python类实现Java类的子类。使用此功能,您可以直接针对本机Android API编写Android应用程序。
编写本机Android应用程序后,您可以使用“ 公文包”将Python代码打包为Android应用程序。
公文包是用于将Python项目转换为独立的本机应用程序的工具。您可以将项目打包为:
- 苹果电脑
- 视窗
- 的Linux
- iPhone / iPad
- 安卓系统
- 苹果电视
- 电视操作系统。
您可以使用BeeWare套件检查用Python编写的本机Android Tic Tac Toe应用程序。在GitHub上
除BeeWare工具外,您还需要安装JDK和Android SDK来测试您的应用程序的运行。
并回答您的第二个问题:好的环境可以是任何您喜欢的东西,无论是文本编辑器,命令行还是IDE,如果您正在寻找好的python IDE,我建议您尝试Pycharm,它具有一个免费的社区版本,由于它是同一家公司生产的,因此它的环境与android studio类似。
我希望这是有帮助的
回答 1
您可以尝试BeeWare-如其网站上所述:
使用Python编写应用程序,然后使用丰富的本机用户界面在iOS,Android,Windows,MacOS,Linux,Web和tvOS上发布它们。一个代码库。多个应用程序。
提供您想要现在就用Python编写Android Apps的优点,并且具有以下优点:如果您最终也想在其他列出的平台上做某事,则将来无需学习其他框架。
这是Android Apps的教程。
回答 2
Android上有两个主要的python应用程序竞争者
Chaquopy
它与Android构建系统集成,为所有android功能提供了Python API。引用网站“完整的Android API和用户界面工具包直接供您使用”。
Beeware(Toga小部件工具包)
这提供了一个多目标编译器,支持许多目标,例如Android和iOS。它使用映射到主机接口调用的通用窗口小部件工具箱(toga)。
哪一个?
两者都是活跃项目,它们的github帐户显示了大量近期活动。
像所有小部件库一样,Beeware Toga也非常适合将基础知识扩展到多个平台。如果您具有基本的设计,并且希望扩展到其他平台,那么这应该对您来说很好。
另一方面,Chaquopy在将python API映射到Android方面更加精确。它还允许您混合使用Java,如果要使用其他资源中的现有代码,则很有用。如果您有严格的设计目标,并且主要想针对Android,那么这是一个更好的资源。
回答 3
Android,Python!
当我在您的问题中同时看到这两个关键字时,我最先想到的是Kivy。
在使用Android Studio进行Java原生Android开发之前,我曾尝试过Kivy。太棒了。这是我可以发现的一些优点。
使用简单
有了python基础知识,您就可以轻松学习它。
良好的社区
它有据可查,拥有一个活跃的社区。
跨平台。
您可以使用此单一框架为Android,iOS,Windows,Linux甚至Raspberry Pi开发东西。开源。
它是一个免费软件
如果您想要商业许可证,那么至少(跨平台)竞争者都希望您付费。
加速图形支持
Kivy的图形引擎基于OpenGL ES 2构建,使其适用于需要快速图形渲染的软件,例如游戏。
现在进入问题的下一部分,您不能将Android Studio IDE用于Kivy。这是设置开发环境的详细指南。