使用Kivy将python程序打包为apk文件

作者:whlook 时间:2021-01-17 21:04:11 

1.概述

Kivy是一套Python下的跨平台开源应用开发框架,官网,我们可以用
它来将Python程序打包为安卓的apk安装文件。以下是在windows环境中使用。

安装和配置的过程中会下载很多东西,确保你能够稳定地访问外网,另外推荐一个视频教程:Youtube

2. 步骤

第一当然是安装了Python,我的版本是Python 2.7.13,然后就是安装Kivy包:

官网有详细的Kivy包的安装步骤,按照该步骤走完就安装ok。

使用Kivy将python程序打包为apk文件

然后就是写一个简单的程序main.py测试一下:


import kivy
kivy.require('1.9.1')
from kivy.app import App
from kivy.uix.button import Button

class test(App):
 def build(self):
   return Button(text='hello world')

if __name__ == '__main__':
 test().run()

运行截图:
使用Kivy将python程序打包为apk文件

运行成功,那开发环境基本没问题了。然后下面就是怎么将这个程序打包成apk

首先需要安装虚拟机 VirtualBox,这个没问题,很快就装好了,然后Kivy官方制作了该虚拟机的映像(很体贴),下载后就直接能运行了,省去不少麻烦。下载地址,或者直接去官网下载:

使用Kivy将python程序打包为apk文件

下载并解压之后,打开VB并载入该文件夹下的虚拟机文件,然后运行(登录密码kivy):

使用Kivy将python程序打包为apk文件

进入到该系统中之后,就需要开始配置环境。官方指导

首先我们先在该系统中添加一个共享文件夹,这样可以和windows共享文件,在VB的设备->共享文件夹选项中有配置:

使用Kivy将python程序打包为apk文件

然后我们使用固定分配,在windows下某个路径新建一个文件夹后将其选择为共享文件夹,并选择自动挂载:

使用Kivy将python程序打包为apk文件

然后重新启动虚拟机就可以访问该共享文件夹了:

使用Kivy将python程序打包为apk文件

设置好了共享文件夹后,可以将之前写的测试程序main.py拷贝到该文件夹,然后在虚拟机中拷贝到桌面备用。

然后打开终端(cd到桌面),执行buildozer init命令,之后会在桌面上生成buildozer.spec的配置文件:

使用Kivy将python程序打包为apk文件

然后使用命令gedit buildozer.spec来编辑该文件,(如果没有gedit可以sudo apt-get install gedit来安装)

使用Kivy将python程序打包为apk文件

基本不用改什么,那个source.dir 需要注意,这是刚刚我们放在桌面上的main.py的路径。

然后运行buildozer android_new debug,接着就开始下载很多东西了,例如Android SDK,Android NDK之类,并且是需要访问外网的,自搭梯子。这个过程要很久,让我一度以为出了问题,然后我中午睡一觉起来就差不多了^^。

然后在它自动下载配置之后就会在桌面的bin文件夹下面生成了apk文件,可以安装在手机上试一下。

然后基本流程大概如此^^,详细可以去官网了解,我就是按照官网的步骤完成的。

最后再推荐一个MIT开发的快速制作安卓app的网站,http://appinventor.mit.edu/explore/

来源:http://www.cnblogs.com/whlook/p/7256077.html

标签:Kivy,python,程序打包
0
投稿

猜你喜欢

  • js 获取、清空input type="file"的值示例代码

    2024-04-22 13:07:14
  • 详解python3中socket套接字的编码问题解决

    2023-09-11 20:28:48
  • Python实现解析命令行参数的常见方法总结

    2023-10-15 12:31:49
  • 详解django使用include无法跳转的解决方法

    2023-04-08 06:13:54
  • Python实现带百分比的进度条

    2022-03-10 00:43:47
  •  Go 语言实现 HTTP 文件上传和下载

    2023-06-23 01:42:24
  • vue 自定义指令directives及其常用钩子函数说明

    2024-05-09 10:43:47
  • 50行代码实现贪吃蛇(具体思路及代码)

    2023-04-04 14:18:08
  • 陌生网页交互行为分析(1)——奇怪的关闭按钮

    2009-01-08 12:22:00
  • Python3爬虫中Ajax的用法

    2023-02-17 15:09:15
  • Python接口传输url与flask数据详解

    2023-03-18 20:00:42
  • python cv2在验证码识别中应用实例解析

    2022-03-29 09:35:58
  • mysql数据库创建账号、授权、数据导出、导入操作示例

    2024-01-26 06:44:42
  • Python对数据进行插值和下采样的方法

    2022-06-02 03:36:41
  • windows下mysql忘记root密码的解决方法

    2024-01-13 05:05:28
  • 利用ASP实现事务处理的方法

    2010-05-11 16:53:00
  • PHP编码转换函数 自动转换字符集支持数组转换

    2024-05-02 17:33:28
  • 使用urllib库的urlretrieve()方法下载网络文件到本地的方法

    2021-11-27 11:21:08
  • vue语法之拼接字符串的示例代码

    2024-04-30 10:21:30
  • 成功实现ajax,xmlhttp跨域访问(php,asp,jsp)

    2008-02-13 18:40:00
  • asp之家 网络编程 m.aspxhome.com