栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python kivy app开发 android 打包第三方包

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python kivy app开发 android 打包第三方包

kivy主要用于前端设计,当开始制作一款可以投入应用的APP时,光使用kivy自带的功能很难实现很多功能。一直以为kivy不支持在打包APK的时候引入第三方包,经过几周的摸索,大量翻阅外网资料后才发现,其实不管用P4a 还是Buildozer进行打包,其实都是可以支持引入第三方包的。

知道这点后,你在国内基本就是kivy专家水平了。

开始任务前,有几个关键点必须要知道
  1. kivy 支持引入第三方包,但是不是所有的包都支持。所以尽可能使用kivy自带的功能,kivy能够打包大部分第三方包,但是很小众的包,请大家谨慎
  2. kivy 打包基于cython,如果版本不匹配会出现各种bug,可以点击下面的链接去查看, 我使用的是 kivy 1.10.1 dev + Cython 0.29.24 环境
  3. kivy官网 cython
第三方包打包操作步骤

前提是已经安装Buildozer,如果不知道请先看 Buildozer 打包APK
1、创建一个用来存放打包文件的文件夹, 我是Ubuntu 环境,
进入 shell换环境,输入命令:

  • mkdir project # 创建一个项目文件
  • cd project #进入 project 文件夹
  • buildozer init # 生成 buildozer.spec 文件 用来设置打包配置
  • vim buildozer.spec # 编辑 buildozer.spec 修改参数, 找到requirements, 键盘打i 进入 vim 的 编辑模式,去掉这行最前面的#号,让这行生效,然后在后面增加需要打包进去的第三方包,这里是numpy
# (str) Application versioning (method 2)
# version.regex = __version__ = ['"](.*)['"]
# version.filename = %(source.dir)s/main.py

# (list) Application requirements
#comma separated e.g. requirements = sqlite3,kivy
requirements = python3,kivy,numpy
  • 设置kivy version,默认不是最新的版本,这里改到1.10.1dev
# change the major version of python used by the app
osx.python_version = 3

# Kivy version to use
osx.kivy_version = 1.10.1dev
  • 准备主程序
import numpy as np
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.core.audio import SoundLoader
global a
a=np.array([1,2,3])
a=a[1]

kv = Builder.load_string("""
#:import utils kivy.utils
: BoxLayout: Button: id:pic1 text:root.c() on_press: """) class main(Screen): def c(self): global a return str(a) sm = ScreenManager() # 创建窗口管理器 screens = [main(name="main")] for screen in screens: # 为每一个窗口生成容器 sm.add_widget(screen) class ScreenApp(App): def build(self): return sm ScreenApp().run()
  • 进入linux系统,把主程序命名为main.py, 注意不可以是别的名字,会识别不到,你的文件夹中这时候应该只有 两个文件 main.py, buildozer.spec
  • 在linux 下,进入到打包文件夹后,输入 buildozer android debug 开始打包
  • .buildozer文件夹下面村官方的是用来打包的系统程序
  • bin下面存放的是成功打包的APK - 打包成功后bin文件夹中有一个APK文件,传输到手机上进行安装就可以看到如下结果
  • 从此开启新的篇章
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/444244.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号