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

 更新时间:2017年07月29日 17:22:07   作者:whlook  
本文给大家分享的是使用Kivy将python程序打包为apk文件的方法,包括安装步骤及相关代码,有需要的小伙伴可以参考下

1.概述

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

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

2. 步骤

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

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

然后就是写一个简单的程序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()

运行截图:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章

  • Python Django 命名空间模式的实现

    Python Django 命名空间模式的实现

    这篇文章主要介绍了Python Django 命名空间模式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • centos 自动运行python脚本和配置 Python 定时任务

    centos 自动运行python脚本和配置 Python 定时任务

    这篇文章主要介绍了centos 自动运行python脚本和配置 Python 定时任务,文章内容介绍详细,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-03-03
  • Python机器学习10大经典算法的讲解和示例

    Python机器学习10大经典算法的讲解和示例

    10个经典的机器学习算法包括:线性回归、逻辑回归、K-最近邻(KNN)、支持向量机(SVM)、决策树、随机森林、朴素贝叶斯、K-均值聚类、主成分分析(PCA)、和梯度提升(Gradient Boosting),我将使用常见的机器学习库,如scikit-learn,numpy和pandas 来实现这些算法
    2024-06-06
  • python工厂方法模式原理与实现

    python工厂方法模式原理与实现

    大家好,本篇文章主要讲的是python工厂方法模式原理与实现,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • 基于python实现把json数据转换成Excel表格

    基于python实现把json数据转换成Excel表格

    这篇文章主要介绍了基于python实现把json数据转换成Excel表格,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 最新Python APScheduler 定时任务详解

    最新Python APScheduler 定时任务详解

    这篇文章主要介绍了Python使用apscheduler模块设置定时任务,APScheduler全称Advanced Python Scheduler 作用为在指定的时间规则执行指定的作业,本文对Python APScheduler 定时任务相关知识介绍的非常详细,需要的朋友参考下
    2022-05-05
  • 四种Python机器学习超参数搜索方法总结

    四种Python机器学习超参数搜索方法总结

    在建模时模型的超参数对精度有一定的影响,而设置和调整超参数的取值,往往称为调参。本文将演示在sklearn中支持的四种基础超参数搜索方法,需要的可以参考一下
    2022-11-11
  • 基于Python实现报表自动化并发送到邮箱

    基于Python实现报表自动化并发送到邮箱

    作为数据分析师,我们需要经常制作统计分析图表。但是报表太多的时候往往需要花费我们大部分时间去制作报表。本文将利用Python实现报表自动化并发送到邮箱,需要的可以参考一下
    2022-07-07
  • Python推导式之字典推导式和集合推导式使用体验

    Python推导式之字典推导式和集合推导式使用体验

    这篇文章主要为大家介绍了Python推导式之字典推导式和集合推导式使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 利用python读取YUV文件 转RGB 8bit/10bit通用

    利用python读取YUV文件 转RGB 8bit/10bit通用

    今天小编就为大家分享一篇利用python读取YUV文件 转RGB 8bit/10bit通用,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12

最新评论