通过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

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • db2有没有rownum_row_number() over order by

    db2有没有rownum_row_number() over order byrank和rownumber都是自动生成序号,后面都可以跟partitionby分组和orderby排序。不同之处在于,rownumber在orderby后面的字段,排序字段数值相等时,rownumber字段依次递增。   rank在orderby后面的字段,排序字段数值相等时,rownumber都相同,直接跳到下一个不同的序号。selectrank

    2022年5月3日
    86
  • MyBatis框架核心之(五)注解使用resultMap及多表查询「建议收藏」

    MyBatis框架核心之(五)注解使用resultMap及多表查询「建议收藏」MyBatis框架核心之(五)注解使用resultMap及多表查询

    2022年4月21日
    47
  • HTTP状态码——302「建议收藏」

    理解302表示临时性重定向。访问一个Url时,被重定向到另一个url上。常用于页面跳转。与301的区别301是指永久性的移动,302是暂时性的,即以后还可能有变化其它重定向方式在响应头中加入Location参数。浏览器接受到带有location头的响应时,就会跳转到相应的地址。…

    2022年4月18日
    89
  • Java练习—-》求字符串中的最长回文子串

    Java练习—-》求字符串中的最长回文子串手贱,做了一道对于我来说挺难的题目嘿嘿!挺有意思的,分享一下文章目录前言一,题目二,思路图形解析代码前言第一次把自己的解题思维写出来,可能写的不太好,请给位原谅,哈哈哈哈额,如果有错的,请各位大佬帮我指出来哈,谢谢!!(^U^)ノ~YO一,题目求一串字符串的最长回文子串,这里以cabacabae为例二,思路图形解析第一步:观察这串字符串—》第二步:找出最长回文子串,并设数—》说明:在这里,假设知道最长回文子串,那这里的resCenter和maxRigth,reslengthgs

    2022年10月16日
    3
  • Linux学习——磁盘管理、用户管理、权限管理命令

    一:磁盘管理 df 查看磁盘大小 –h 1024 –H 1000 du 统计磁盘上文件的大小 — du -s /目录 — -h 1024显示二:用户管理 1 Linux中用户和用户组的概念 用户:使用操作系统的人,可以有很多的用户,运行多个用户同时操作一个系统 用户组:具有相同系统权限的一

    2022年2月26日
    44
  • springboot 事务配置

    springboot 事务配置1、全局配置@EnableTransactionManagement@Aspect@ConfigurationpublicclassGlobalTransactionConfig{//写事务的超时时间为10秒privatestaticfinalintTX_METHOD_TIMEOUT=10;//restful包下所有service包或者service的子包的任意类的任意方法privatestaticfinalStringAOP

    2022年5月17日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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