![c65d1bd2a12d255617c5028fe865d39d.png](https://i-blog.csdnimg.cn/blog_migrate/12a15b5921b360f822365122195b5fc6.jpeg)
前言
我相信很多小伙伴都知道怎么将Python的文件打包成exe,而且这个也非常的简单,一行代码就能轻松搞定:pyinstaller -F xxx.py
但是如果我们用Python开发一个小游戏或者一个GUI桌面应用小程序,想在手机上面运行试玩那应该怎么做呢?
今天小编就教大家如何将Python文件打包成apk!
隆重介绍:Kivy
Kivy 是一个开源的 Python 框架,用于快速开发应用,实现各种当前,流行的用户界面,比如多点触摸等等。且Kivy 可以运行于 Windows, Linux,MacOS, Android, iOS 等当前绝大部分主流桌面/移动端操作系统。
![96f73406be40893602187e20fd70ff4d.png](https://i-blog.csdnimg.cn/blog_migrate/aee50fa7bbdbac02bf1b260e8f89b7c0.jpeg)
安装操作
将Py文件打包成apk文件,江湖上暂有如下3个方法:
1.通过Buildozer;(在linux环境下实现,集成式框架比较容易实现)
2.通过python for android,(这种可以在windows下实现,但需要安装和配置许多内容,较为繁琐)
3.通过Kivy Launcher上打包(需要用到谷歌市场,但想在我大天朝嘛....建议你选择别的)
kivy打包的Buildozer有两种工具,分别是p4a和buildozer。kivydev64使用p4a,kivydev使用buildozer。
buildozer其实是对p4a做了进一步封装,换汤不换药。如果你不想配置recipe和dist之类的参数,可以使用buildozer,但是每次都要复制已经打包成功的项目目录下的.buildozer到要打包的项目目录下,buildozer才不会重复下载sdk和ndk等。而.buildozer目录通常在1G以上,每个项目目录如果都复制一份,不久就会耗尽虚拟机的硬盘空间。所以推荐使用p4a,也就是kivydev64,这个打包环境也是第一个建立在64位ubuntu的环境。
![6fc125b55177e6155bd8da0dff4260d9.png](https://i-blog.csdnimg.cn/blog_migrate/c223d27c7cda9b9dc0423e71469ff494.jpeg)
1.安装好环境后,打开VirtualBox,小编遇到的第一个问题就是:
![163f0de51c0a538d0d037b36b1a56b71.png](https://i-blog.csdnimg.cn/blog_migrate/6dc6b5e505b6753f2c124d217ad53782.jpeg)
这个问题产生的原因是因为VirtualBox的环境不兼容,win7的话需要将其兼容性配置为Windows Server 2008进行运行;
2. 在成功导入打开的过程中,还会遇到一个问题,会提示你usb接入错误,此时需要你安装这个文件:
3.成功将镜像环境导入后,如果你能看到此神兽Ubantu,说明你的胜利已经在前方:
![3cb1fa7475c4bc88c59f8d56170ccead.png](https://i-blog.csdnimg.cn/blog_migrate/689be410ef315ea3633988801d95cf22.jpeg)
4. 进入到/home/kivydev//test是测试目录,该目录下的py2apk是py27打包,py3apk是py35打包,这两个版本的差别只在于不同版本的py配置文件,在该目录下的py文件,必须使用main.py命名才能进行打包,先在该目录下对main.py进行编译,看能否成功执行:python3 main.py
5. 可以成功编译后,接下来在py2apk或py3apk的目录下执行打包命令: p4a apk
即可在该目录下产生apk的文件;
6.这里仅作为测试,将该main.py生成的apk进行,在手机上的运行效果如图:
![724028816768e96cc625752c71f8231a.png](https://i-blog.csdnimg.cn/blog_migrate/7f5fa9d30d9a0196442f1797364b8a1b.jpeg)
三.后话
至此,已经可以完成简单的py文件的封装了,至于py文件如何编写成适于安卓版本的,以及如何更换图标,如何再进行设置里面的内容,建议阅读官方文档进行学习
*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。
![ee72c89e4e5935d95ea8d76dadd45b24.png](https://i-blog.csdnimg.cn/blog_migrate/ddd6d4fb4a415f79e93a1e7399dbe694.jpeg)