Kivy-在Docker桌面上使用buildozer构建APK失败

问题描述

我尝试使用在Docker容器(Windows 10上为Docker Desktop)上运行的Buildozer生成APK,但它始终会失败。该图像是从https://hub.docker.com/r/kivy/buildozer拉出的。当以docker run --volume ${pwd}:/home/user/hostcwd buildozer init开始时,正确创建了buildozer.spec,但是当我运行docker run --volume ${pwd}:/home/user/hostcwd buildozer debug时,所有的乐趣都以关于缺少API的错误消息结束:

不幸的是,我也是Docker的新手...如果我正确理解它,那么在此过程中应该已经成功下载了SDK和NDK,但是缺少Android API,并且我不知道如何安装它。

解决方法

正如您已经猜到的,SDK和NDK确实已下载,但是您必须明确接受它们的许可证。如果您设置了buildozer.spec,则可以在android.accept_sdk_license = True文件中进行此操作。

我在工作目录中生成了buildozer.spec文件

docker run --volume "$(pwd)":/home/user/hostcwd kivy/buildozer init

然后我在工作目录中生成的android.accept_sdk_license = True中设置了buildozer.spec

...
# (bool) If True,then automatically accept SDK license
# agreements. This is intended for automation only. If set to False,# the default,you will be shown the license when first running
# buildozer.
android.accept_sdk_license = True

# (str) Android entry point,default is ok for Kivy-based app
#android.entrypoint = org.renpy.android.PythonActivity
...

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...