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

python kivy app开发 android 打包第三方包,第1张

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

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

开始任务前,有几个关键点必须要知道 kivy 支持引入第三方包,但是不是所有的包都支持。所以尽可能使用kivy自带的功能,kivy能够打包大部分第三方包,但是很小众的包,请大家谨慎kivy 打包基于cython,如果版本不匹配会出现各种bug,可以点击下面的链接去查看, 我使用的是 kivy 1.10.1 dev + Cython 0.29.24 环境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文件,传输到手机上进行安装就可以看到如下结果从此开启新的篇章

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/992705.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存