如何在python中完全制作Android应用程序?

2024-04-20 08:04:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想开发一个(相当简单的)android应用程序,通过Play Store发布。我想完全用python来实现。然而,网上的研究并没有给我很大的启发:大多数评论要么已经过时了(1岁了,我觉得从那时起python可能会有更好的集成),要么他们谈论在android中运行python(例如here)。

因此,我正在寻找有关以下问题的信息:

  • 完全用python开发一个应用程序可行吗?有哪些工具可以这样做?(例如,Kivy是否值得推荐?)
  • 如果是:实现这一点的最佳软件环境是什么?(我尝试使用Android Studio失败,但无法找到在那里运行python代码的方法。)

我对应用程序开发还不太熟悉,如果能用python而不是Jave等语言来实现这一点,我将不胜感激。

非常感谢你的帮助。


Tags: 工具方法store代码信息应用程序play软件
3条回答

您可以尝试BeeWare-如他们网站上所述:

Write your apps in Python and release them on iOS, Android, Windows, MacOS, Linux, Web, and tvOS using rich, native user interfaces. One codebase. Multiple apps.

如果你现在想用Python编写Android应用程序,还有一个优势,那就是如果你最终也想在其他列出的平台上做些什么的话,以后就不需要再学习另一个框架了。

这是Tutorial for Android Apps

Android上的python应用程序有两个主要竞争者

查库比

https://chaquo.com/chaquopy/

它与Android构建系统集成,为所有Android功能提供了Python API。引用网站“完整的Android API和用户界面工具包直接由您使用”

Beeware(Toga widget工具包)

https://pybee.org/

这提供了一个多目标transpiler,支持许多目标,如Android和iOS。它使用一个映射到主机接口调用的通用小部件工具包(toga)。

哪一个?

这两个项目都是活动项目,它们的github帐户显示了相当数量的最近活动。

Beeware Toga和所有widget库一样,有利于将基础知识发布到多个平台。如果你有基本的设计,并希望扩展到其他平台,这应该对你很好。

另一方面,Chaquopy在python API到Android的映射上要精确得多。它还允许您混合使用Java,如果您想使用来自其他资源的现有代码,它会很有用。如果你有严格的设计目标,并且主要是针对Android,这是一个更好的资源。

为了回答您的第一个问题:是的,用纯python开发android应用程序是可行的,为了实现这一点,我建议您使用BeeWare,这只是一套python工具,它们很好地协同工作,使您能够用python开发平台本机应用程序。

BeeWare的创建者签出了this video,他完美地解释和演示了BeeWare的应用程序

工作原理

Android的首选实现语言是Java,因此如果您想用Python编写Android应用程序,您需要有一种方法在Java虚拟机上运行Python代码。这就是VOC的作用。VOC是一个transpiler-它接受Python源代码,将其编译为CPython字节码,然后将该字节码转换为与Java兼容的字节码。最终的结果是,Python源代码文件被直接编译成Java.class文件,该文件可以打包到Android应用程序中。

VOC还允许您像访问Python对象一样访问本机Java对象,用Python类实现Java接口,并用Python类子类化Java类。使用此功能,您可以直接针对本机Android api编写Android应用程序。

一旦编写了本地Android应用程序,就可以使用Briefcase将Python代码打包为Android应用程序。

公文包是将Python项目转换为独立的本机应用程序的工具。您可以将项目打包为:

  • 麦克
  • 窗口
  • Linux系统
  • iPhone/iPad
  • 安卓
  • 苹果电视
  • 电视。

您可以使用BeeWare套件检查这个用Python编写的原生Android Tic Tac Toe app。在GitHub上

除了BeeWare工具,您还需要安装一个JDK和Android SDK来测试运行您的应用程序。

回答你的第二个问题:一个好的环境可以是你喜欢的任何东西,无论是文本编辑器和命令行,还是IDE,如果你正在寻找一个好的PythonIDE,我建议你试试Pycharm,它有一个免费的社区版,它有一个类似于android studio的环境,因为是同一家公司做的。

我希望这对你有帮助

相关问题 更多 >