用Python写安卓APP,你怕不怕 您所在的位置:网站首页 python能做oa软件吗 用Python写安卓APP,你怕不怕

用Python写安卓APP,你怕不怕

2023-09-11 17:01| 来源: 网络整理| 查看: 265

我们知道了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 Machine

A 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 debug

buildozer.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 实验室设备网 版权所有