如何解决Kivy buildozer泊坞窗:在当前目录中未找到buildozer.spec放弃
已经根据https://github.com/kivy/buildozer/上的说明构建了buildozer Docker,我尝试运行它并收到错误消息:
kivyproject $ ls
main.py
buildozer.spec
setup.py
[...]
kivyproject $ docker run --volume "$(pwd)":/home/user/hostcwd buildozer android debug
# Ensure build layout
No buildozer.spec found in the current directory. Abandon.
此外,我发现在kivyproject
旁边创建了一个名为kivyproject;C
的空目录。
这是怎么回事?
我在Windows上通过Git bash shell运行。
解决方法
我的问题是Docker传递给--volume
的字符串没有被Git bash shell自动转换为Windows路径,因此Docker期望这样:
--volume "c:\...\kivyproject:/home/user/hostcwd"
但是得到了:
--volume "/c/.../kivyproject:/home/user/hostcwd"
解决方案是用pwd
包装cygpath -w
:
kivyproject $ docker run --volume "$(cygpath -w $(pwd))":/home/user/hostcwd buildozer android debug deploy
最好也共享缓存,以免每次都重新下载SDK和NDK:
kivyproject $ docker run --volume "$(cygpath -w $HOME/.buildozer)":/home/user/.buildozer --volume "$(cygpath -w $(pwd))":/home/user/hostcwd buildozer android debug deploy
要解决此问题,我将Dockerfile
的最后一行从ENTRYPOINT ["buildozer"]
更改为ENTRYPOINT ["bash"]
,然后我可以运行docker run --volume [...] -it bulldozer
,获取一个shell,看看它是看到一个空目录。然后,我注意到在我的工作目录旁边创建了一个名为workingdirname;C
的目录,并怀疑是cygwin路径的恶作剧。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。