超详细!!!windows使用docker镜像构建kivy apk

1、安装docker

到官网下载安装即可docker desktop

2、构建镜像

建议构建1.5.1.dev0,经过测试1.5.0有问题

git clone https://github.com/kivy/buildozer.git

在拉取下来的buldozer目录中打开终端,进行构建镜像,tag后面的是镜像名自己取名,尽量符合规则 拥有者/镜像名:版本标签

docker build tag my/buildozer:标签

构建可能因为网络波动失败,多试几次

构建apk

每次构建不会保存缓存文件,导致每次构建非常慢,我写了一个脚本构建,可以参考

buildozer.bat

@REM version:1.0
@REM 构建apk

@REM 关闭回显
@echo off

@REM 设置中文
chcp 65001 > NUL

setlocal enabledelayedexpansion

@REM 设置使用的镜像
set docker_image="youmetme/buildozer:latest"

@REM 设置工作目录、缓存路径
set hostcwd=%cd%
set buildozer_cache=E:\project\build\.buildozer
set gradle_cache=E:\project\build\.gradle

echo 使用镜像: %docker_image%
echo 工作目录: %hostcwd%
echo 缓存目录: %buildozer_cache%
echo Gradle缓存目录: %gradle_cache%

@REM echo 开始构建apk...

docker run --rm ^
    --privileged ^
    -v %buildozer_cache%:/home/user/.buildozer ^
    -v %gradle_cache%:/home/user/.gradle ^
    -v %hostcwd%:/home/user/hostcwd ^
    -v %buildozer_cache%:/home/user/hostcwd/.buildozer ^
    %docker_image% %1 %2 %3 %4 %5 %6 %7 %8 %9

if %errorlevel% neq 0 (
    echo 构建失败...请查看日志
)


@REM 恢复默认编码
chcp 936 > NUL

endlocal

4、相关问题

1、在需要构建的项目目录下运行脚本

2、会在项目目录生成一个空的.buildozer,切记不能删除,构建完可以删

3、构建过程会下载很多依赖在脚本缓存路径,可以自己更改

4、依赖会因为网络下载失败,记得把失败的依赖删除,重新下载,直到成功,或者找网络代理,或者找别人要下载好的依赖缓存

5、如果是别人的依赖文件,哪个依赖报错,就删掉哪个,一般是删掉

E:\project\build\.gradle\daemon\8.0.2

android-ndk-r25b

最后是javaclasses和venv文件

别文为什么,因为docker容器经常因为这几个文件没用权限执行不了,只要构建一次成功,这个缓存文件可以一直用,所有项目都可以,缓存文件记得保存好,不要挪位置!不要挪位置!不要挪位置!,不然重复之前的工作直到可以使用

6、同意ndk协议

把222行改为True并且取消注释,运行时会卡在输入y同意ndk失败一次,再次运行就会自动输入y同意

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值