用Python写安卓APP,你怕不怕 | 您所在的位置:网站首页 › python能做oa软件吗 › 用Python写安卓APP,你怕不怕 |
我们知道了Python可以开发桌面应用(PyQt、wxPython等),可以开发服务端(twisted等),可以开发web端(Django、Flask等),开发爬虫(pyspider等),开发硬件stm32(PyBoard等),是一个全栈开发语言。那么他能否挑战一下安卓呢? 我们可以使用 kivy 开发安卓 APP,Kivy 是一套专门用于跨平台快速应用开发的开源框架,使用 Python 和 Cython 编写,对于多点触控有着非常良好的支持,不仅能让开发者快速完成简洁的交互原型设计,还支持代码重用和部署,绝对是一款颇让人惊艳的NUI框架。 因为跨平台的,所以只写一遍代码,就可以同时生成安卓及 IOS 的 APP,很酷吧。 1.kivy安装环境说明:笔者在用的是 Python2.7.10 这里仅介绍 Windows 平台安装 所有平台参考: https://kivy.org/#download 更新 pip,setuptools python -m pip install --upgrade pip wheel setuptools然后是安装所需要的依赖 python -m pip install docutils pygmentspypiwin32 kivy.deps.sdl2 kivy.deps.glew kivy.deps.gstreamer --extra-index-url https://kivy.org/downloads/packages/simple/值得注意的是,上面的安卓需要访问 Google,所以请自备梯子,而且 kivy.deps.gstreamer这个包比较大(95MB),可以单独本地安装 然后就是安装kivy了 python -m pip install kivy至此,安装就已经完毕了,值得注意的是64位系统没有开启虚拟化支持,在导入 kivy 的时候会报错,如果是 64 位系统就设置一下机器的 BIOS,开启虚拟化支持吧。 注:这里只是 kivy 的运行环境,这样我就能直接在 Windows 机器上直接调试了,怎么将代码编译成 APK 文件我们会在后面讲到。 2.测试Hello World新建一个.py文件 from kivy.app import Appfrom kivy.uix.button importButton class TestApp(App): def build(self): return Button(text='Hello World') TestApp().run()运行如下 弹窗如下 3.实战 1.环境官方说明的环境,如下: You’ll need: A linux computer or a virtual machine Java Python 2.7 (not 2.6.) Jinja2 (python module) Apache ant Android SDK 虽然官方提供了一个似乎还不错的虚拟机镜像,但是还是有很多内容需要F出去,所以笔者在这里提供相对而言更加完善的镜像。 下载地址:http://pan.baidu.com/s/1geyAY7x 注:virtualbox,vmware 需自行下载。 root密码:kivy 默认使用账户kivy,密码:kivy123 当然你也可以下载官方镜像,因为第一次编译需要去国外下一大堆东西,所以请自行去下载。 2.Virtual MachineA Virtual Machine with Android SDK and NDK and all otherpre-requisites pre installed to ease apk generation: Kivy Buildozer VM Or select the Torrent 在笔者提供的镜像里,桌面上有一个dev_and,只要将上面写的代码,放入这个文件夹即可(当然也可以在其他目录,后面会讲到)。 cd Desktop/dev_and/初始化会在当前目录生成一个buildozer.spec文件 用于配置生成的apk相关信息。 buildozer init###修改buildozer.spec文件 vi buildozer.spec至少修改下面三项 # (str) Title of your applicationtitle = helloworld # (str) Package namepackage.name = helloapp # (str) Package domain (needed for android/ios packaging)package.domain = youer.com然后注释 # (str) Application versioning (method 1)#version.regex = __version__ = ['"](.*)['"]#version.filename = %(source.dir)s/main.py下面这行改为非注释 version = 1.2.0最后我们生成我们需要的apk文件 buildozer -v android debugbuildozer.spec更详细的相关参数配置参考: http://buildozer.readthedocs.org/en/latest/specifications.html buildozer命令会在当前文件夹创建一个bin,该文件夹里面有我们想要的apk文件 helloapp-1.2.0-debug.apk安装以后是这样: 使用kivy开发的安卓小游戏 https://github.com/mvasilkov/kb/tree/master/6_2048 原文链接:https://mp.weixin.qq.com/s/NTxNPZRci_b7zhZgU2MrGw |
CopyRight 2018-2019 实验室设备网 版权所有 |