使用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实现一个简单的验证码程序
老师讲完random函数,自己写的,虽然和老师示例的不那么美观,智能,但是也自己想出来的,所以记录一下,代码就需要自己不断的自己练习,实战,才能提高啊!不然就像我们这些大部分靠自学的人,何时能学会.还有就是,这次听老师的,把自己的代码添加注释,所以这次把很简单的代码都写上了注释,而且很大白话,不管有没有接触过python的,我相信仔细看了,肯定能看懂.如果看完,再自己尝试着默写出来,那就是更好到了,好了进入正题: 自己写的: __Author__ = "Zhang Peng" impo
-
python记录程序运行时间的三种方法
python记录程序运行时间的三种方法 这里提供了python记录程序运行时间的三种方法,并附有实现代码,最后进行比较,大家参考下: 方法1 import datetime starttime = datetime.datetime.now() #long running endtime = datetime.datetime.now() print (endtime - starttime).seconds 方法 2 start = time.time() run_f
-
Python基于time模块求程序运行时间的方法
本文实例讲述了Python基于time模块求程序运行时间的方法.分享给大家供大家参考,具体如下: 要记录程序的运行时间可以利用Unix系统中,1970.1.1到现在的时间的毫秒数,这个时间戳轻松完成. 方法是程序开始的时候取一次存入一个变量,在程序结束之后取一次再存入一个变量,与程序开始的时间戳相减则可以求出. Python中取这个时间戳的方法为引入time类之后,使用time.time();就能够拿出来.也就是Java中的System.currentTimeMillis(). 由于Python
-
Python实现输出程序执行进度百分比的方法
本文实例讲述了Python实现输出程序执行进度百分比的方法.分享给大家供大家参考,具体如下: 对于一些大型的Python程序,我们需要在命令行输出其百分比,显得更加友好,以免被人误会程序陷入死循环.假死的窗体. 关键是利用到不换行的输出符\r,\r的输出,将直接覆盖掉此行的内容. 比如如下的程序,是一个i从0自加的十万的过程,即使对于现在高性能的CPU也是需要几秒的时间的,我们要输出其执行时候的百分比,可以在引入sys这个包之后,利用到sys.stdout.write输出,避免原生态的print
-
Python部署web开发程序的几种方法
1.fastcgi ,通过flup模块来支持,在nginx里对应的配置指令是 fastcgi_pass 2.http,nginx使用proxy_pass转发,这个要求后端appplication必须内置一个能处理高并发的http server,在python的web框架当中,只能选择tornado. 3.uwsgi,包括4部分组成: uwsgi协议 web server内置支持协议模块 application服务器协议支持模块 进程控制程序 nginx从0.8.4开始内置支持uwsgi协议,uw
-
python运行其他程序的实现方法
python运行其他程序的实现方法 这里提供了两种实现方法,一.os.system()函数和 使用ShellExecute函数运行其他程序及实现代码,大家可以参考下, 一 使用os.system()函数运行其他程序 打开系统的记事本程序 >>>import os >>> os.system('notepad') 0 >>> os.system('notepad python.txt') 0 二 使用ShellExecute函数
-
使用Kivy将python程序打包为apk文件
1.概述 Kivy是一套Python下的跨平台开源应用开发框架,官网,我们可以用 它来将Python程序打包为安卓的apk安装文件.以下是在windows环境中使用. 安装和配置的过程中会下载很多东西,确保你能够稳定地访问外网,另外推荐一个视频教程:Youtube 2. 步骤 第一当然是安装了Python,我的版本是Python 2.7.13,然后就是安装Kivy包: 官网有详细的Kivy包的安装步骤,按照该步骤走完就安装ok. 然后就是写一个简单的程序main.py测试一下: import k
-
利用pyinstaller或virtualenv将python程序打包详解
运行环境: CentOS6.5_x64 Python版本 : 2.6 使用pyinstaller打包 pyinstaller可以将python程序打包成二进制文件,打包后的文件在没有python的环境中也可以执行(但要有相关底层libc相关so文件).pyinstaller支持将python程序打包成单个文件,它所做的只是将文本转换成二进制,并不能给python提速,相反还会影响打包后程序的运行速度. 安装pyinstaller 官方网址:http://www.pyinstaller.org/
-
Android程序打包为APK的方法详解
Andriod安装包文件(Android Package),简称APK,后缀名为.apk. 1.生成未签名的安装包 Build -> Build Bundle(s)/APK(s) -> Build APK(s) 会生成一个未签名的apk文件,默认为debug版,可以正常安装使用. 可以 Build -> Select Build Variant -> 选择生成的apk版本(debug.release),再 Build -> Build Bundle(s)/APK(s)
-
Android Studio将程序打包成APK的步骤详解
第一步:先点击Build选择GenerateSigned APK 第二步:如果之前有编译成APK的话,就直接选择Choose existing已经存在的key:如果没有编译成APK那就选择Create new创建一个新的key的存放路径,然后填上密码,其中First and Last Name填一下,其他的无所谓.如图 尽量保证图中所指的两处密码相同,这样可以避免混淆,然后点击ok.下图的红圈之内填的是存储key的文件名. 做完上述的操作,会返回下图,然后点击next 接下来,一定要点击下图标记
-
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
本文介绍一个exe打包工具pyinstaller,使用非常简单.方便,而且还跨平台. 软硬件环境 Windows 10 64bit PyQt5 Anaconda with python 3.6.5 pyinstaller apscheduler sqlalchemy pyinstaller安装 命令行中执行 pip install pyinstaller pyinstaller打包exe 示例还是以之前的为例,解压进入工程目录,命令行执行打包命令 pyinstaller -F --distpat
-
Python程序打包成可执行文件exe详解流程
今天给大家分享个可视化 Python 打包神器,欢迎点赞支持,文末提供技术交流群. 1. 什么是 auto-py-to-exe auto-py-to-exe 是一个用于将Python程序打包成可执行文件的图形化工具.本文就是主要介绍如何使用 auto-py-to-exe 完成 python 程序打包.auto-py-to-exe 基于 pyinstaller ,相比于 pyinstaller ,它多了 GUI 界面,用起来更为简单方便 2.安装 auto-py-to-exe 首先我们要确保我们的
-
使用PyInstaller库把Python程序打包成exe
一.pyinstaller简介 Python是一个脚本语言,被解释器解释执行.它的发布方式: .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库.(Python官方的各种安装包就是这样做的) .pyc文件:有些公司或个人因为机密或者各种原因,不愿意源码被运行者看到,可以使用pyc文件发布,pyc文件是Python解释器可以识别的二进制码,故发布后也是跨平台的,需要使用者安装相应版本的Python和依赖库. 可执行文件:对于非码农用户或者
-
pyinstaller将python程序打包为可执行文件
目录 前言 pyinstaller简介 pyinstaller下载 pyinstaller使用 准备好程序代码 打包程序 小结 前言 对于专业的python程序员来说,python打包工具或许用得并不多.但是对于非专业人士来说,你给他写个python项目,要让他安装python.安装依赖等等,估计人都会抓狂.或者说,如果你不想暴露自己的项目代码,python打包工具就派上用场了,市面上有多种打包工具,这里就讲讲最常用的pyinstaller的使用方法吧. pyinstaller简介 pyinst
-
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
下面看下通过Pyinstaller打包Pygame库写的小游戏程序出现的问题解决方法 # -基于Python的Pygame库的GUI游戏 游戏内容是通过飞船发射子弹来射击外星人 空格键为开火,左右方向键移动,并设立了 不同关卡. 使用说明: 开发环境,游戏直接运行alien_invasion.exe即可,也可在具有Python3环境下运行alien_invasion.py 练习环境: Python:3.5.4 64位 pyinstall:3.3.1 pyinstall使用: pyinstalle
-
Python项目打包成exe文件
目录 前言 环境依赖 项目打包 总结 前言 之前有人私信我,他写了一个在终端交互的小程序,希望可以不在IDE的终端显示,而是独立一个窗口进行交互.其实只要把项目打包成exe执行文件,就可以在执行的时候在cmd独立一个窗口了. 如果python项目打包exe呢?下面按照步骤讲解一下. 环境依赖 安装pyinstaller. pip install pyinstaller -i https://pypi.douban.com/simple 项目打包 项目部分代码 先看一下项目在终端执行的效果. 使用
随机推荐
- vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
- SqlServer 序号列的实现方法
- SQL Server 2000 注入防护大全(二)
- DOS自带的批处理命令
- 用javascript实现始终保持打开同一个子窗口以及关闭父窗口同时自动关闭所有子窗口
- PHP的魔术常量__METHOD__简介
- linux下使用rinetd来实现端口转发
- 浅谈python字符串方法的简单使用
- Python的Scrapy爬虫框架简单学习笔记
- MySQL笔记之数据备份与还原的使用详解
- C#对DataTable里数据排序的方法
- 详解JS中的attribute属性
- 如何防止INPUT按回车自动提交表单FORM
- 注册表应用100例—注册表使用全攻略之十一
- java从输入流中获取数据并返回字节数组示例
- 利用Asp.Net回调机制实现进度条
- Android自定义照相机的实例
- Android拆轮子系列之写验证码控件的方法
- 如何利用NTFS加密文件及文件夹
- Java SimpleDateFormat中英文时间格式化转换详解