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
<main>:
    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文件,传输到手机上进行安装就可以看到如下结果
  • 从此开启新的篇章在这里插入图片描述
  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值