通过Kivy将Python文件打包成apk

通过Kivy将Python文件打包成apk一.前言Kivy是一个开源的Python框架,用于快速开发应用,实现各种当前流行的用户界面,比如多点触摸等等。且Kivy可以运行于Windows,Linux,MacOS,Android,iOS等当前绝大部分主流桌面/移动端操作系统。周日在配置Kivy时,教程繁多繁琐,让自己有些找不着北,挨个试后,经常在某处卡壳,屡屡碰壁,希望自己接下来的

大家好,又见面了,我是你们的朋友全栈君。

我是精神抖擞王大鹏,不卑不亢,和蔼可亲~  
计算机硕士,目前小米大数据开发。日常会分享总结一些自己面试实际问题的回答,欢迎一起讨论。
公众号:diting_dapeng

一.前言

 Kivy 是一个开源的 Python 框架,用于快速开发应用,实现各种当前

流行的用户界面,比如多点触摸等等。且Kivy 可以运行于 Windows, Linux,

MacOS, Android, iOS 等当前绝大部分主流桌面/移动端操作系统。

周日在配置Kivy时,教程繁多繁琐,让自己有些找不着北,挨个试后,经常在某

处卡壳,屡屡碰壁,

希望自己接下来的集成操作可以为和我一样初开始无所适从的人带来一些帮助

感谢@校长叫我起床,@面包群友的帮助,让我在配置无门时找到了方向;

—镜像文件及GitHub链接传送门在底部,欢迎拍砖

二.安装操作

 将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的环境。

 1. 安装好环境后,打开VirtualBox,楼主遇到的第一个问题就是:

 通过Kivy将Python文件打包成apk

 这个问题产生的原因是因为VirtualBox的环境不兼容,win7的话需要将其兼容性配置为Windows Server  2008进行运行;

 2. 在成功导入打开的过程中,还会遇到一个问题,会提示你usb接入错误,此时需要你安装这个文件:

 通过Kivy将Python文件打包成apk

 下载的链接地址已经放到下方;

 3.成功将镜像环境导入后,如果你能看到此神兽Ubantu,说明你的胜利已经在前方:

 通过Kivy将Python文件打包成apk

 3. 进入到/home/kivydev//test是测试目录,该目录下的py2apk是py27打包,py3apk是py35打包,这两个版本的差别只在于不同版本的py配置文件,在该目录下的py文件,必须使用main.py命名才能进行打包,先在该目录下对main.py进行编译,看能否成功执行:python3 main.py

 4. 可以成功编译后,接下来在py2apk或py3apk的目录下执行打包命令:

  p4a apk

    即可在该目录下产生apk的文件;

 5.这里仅作为测试,将该main.py生成的apk进行,在手机上的运行效果如图:

 通过Kivy将Python文件打包成apk

三.后话

 至此,已经可以完成简单的py文件的封装了,至于py文件如何编写成适于安卓版本的,以及如何更换图标,如何再进行设置里面的内容,建议阅读官方文档进行学习,文档地址:https://github.com/nkiiiiid/Kivy-CN

 再次感谢前行的铺路者们!

四.镜像文件及链接传送门

 打包环境下载地址kivydev64v1.0_免费高速下载|百度网盘-分享无限制

 Vbox4.3.12下载地址VirtualBox-4.3.12-93733-Win.exe_免费高速下载|百度网盘-分享无限制

 vbox4.3.12 Extension pack下载地址Oracle_VM_VirtualBox_Extension_Pack-4.3.12-93733.vbox-extpack_免费高速下载|百度网盘-分享无限制

 系统 Ubuntu 16.04 64位

 用户名 kivydev 密码 kivydev

 用户名root 密码 root

 已安装增强工具,支持共享文件夹、分辨率调整、宿主机与虚拟机复制粘贴

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143911.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 测试技术提升分享_测试技术分享

    测试技术提升分享_测试技术分享在腾讯课堂上分享测试技术相关的课程也有一段时间了,同时在博客(http://blog.sina.com.cn/u/1760715297)和微信公众号上也分享了不少相关文档。现在已经有相当关注度,也有很多同学加入了我们的QQ群(867446822)积极地进行交流。但在交流过程中,也存在不少问题,有相当的同学不了解我们的课程,也不清楚如何学习,所以我写这篇文章,给大家做个指导:一,测…

  • MySQL数据库面试题(2020最新版)

    MySQL数据库面试题(2020最新版)文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)…

  • web前端技术讲解之CSS中position的定位技术

    web前端技术讲解之CSS中position的定位技术

  • 新加坡a50股指期货 实时行情_新加坡a50期货指数

    新加坡a50股指期货 实时行情_新加坡a50期货指数实时采集新加坡交易所A50指数

  • C语言实现PID算法:位置式PID和增量式PID[通俗易懂]

    原创者微信公众号PID算法可以说是在自动控制原理中比较经典的一套算法,在现实生活中应用的比较广泛。大学参加过电子竞赛的朋友都应该玩过电机(或者说循迹小车),我们要控制电机按照设定的速度运转,PID控制在其中起到了关键的作用。说来惭愧,大学这门课程学的不咋滴,老师讲的课基本没听进去过。直到后面接触竞赛,算是对PID有了很基础的一点点认识,直到现在工作实际应用的…

  • docker部署web项目_小钢炮docker安装web

    docker部署web项目_小钢炮docker安装web前言前面我们运行的容器并没有一些什么特别的用处。接下来让我们尝试使用docker构建一个web应用程序。我们将在docker容器中运行一个PythonFlask应用来运行一个web

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号