第一个 Kivy/Buildozer android 项目出错
Posted
技术标签:
【中文标题】第一个 Kivy/Buildozer android 项目出错【英文标题】:Error on first Kivy/Buildozer android project 【发布时间】:2018-09-25 12:38:45 【问题描述】:尝试在 Ubuntu 16.04 上使用 buildozer 运行 Kivy, (startup-demo-project pong) 我得到一个错误 在命令中
buildozer android debug deploy
之后: …… [调试]:构建成功 ....
在构建结束时有一条错误消息:
....
IOError: [Errno 2] No such file or directory: u'/home/std/Dokumente/python
/Kivy/.buildozer/android/platform/build/dists/myapp/build/outputs
/apk/myapp-debug.apk'
我的安装是根据: http://buildozer.readthedocs.io/en/latest/installation.html 适用于 Ubuntu 16.04。
还有 建造者服务 没有显示任何有用的信息,仅显示:
Directory listing for /
作为对电话的回应:
http://localhost:8000
Buildozer 控制台说:
192.168.178.22 - - [15/Apr/2018 21:43:12] "GET / HTTP/1.1" 200 -
192.168.178.22 - - [15/Apr/2018 21:43:12] code 404, message File not found
注释: 我更改了 log_level = 2 以获取更多信息,但无法弄清楚在哪里可以找到相关日志文件或从哪里获取有关错误的更多信息。
【问题讨论】:
【参考方案1】:问题
IOError: [Errno 2] No such file or directory: u'/home/std/Dokumente/python /Kivy/.buildozer/android/platform/build/dists/myapp/build/outputs /apk/myapp-debug.apk'
解决方案
使用 sudo 更改和重新编译 Python 2.7 的 android.py。请在终端窗口执行以下操作:
步骤 1
更改目录
cd /usr/local/lib/python2.7/dist-packages/buildozer/targets
第二步
制作 android.py 和 android.pyc 的备份副本
sudo cp android.py android-orig.py
sudo cp android.pyc android-orig.pyc
第三步
使用编辑器对 android.py 进行更改
sudo gedit android.py
第四步
在import sys
之前插入以下导入
from distutils.version import LooseVersion
第 5 步
在第 791 行 (# XXX found how the apk name is really built from the title
) 之后添加以下代码。 注意:__sdk_dir(双下划线)。有关详细信息,请参阅下面的打印屏幕。
__sdk_dir = self.android_sdk_dir
build_tools_versions = os.listdir(join(__sdk_dir, 'build-tools'))
build_tools_versions = sorted(build_tools_versions, key=LooseVersion)
build_tools_version = build_tools_versions[-1]
gradle_files = ["build.gradle", "gradle", "gradlew"]
is_gradle_build = any((
exists(join(dist_dir, x)) for x in gradle_files)) and build_tools_version >= '25.0'
if is_gradle_build:
第 6 步
保存更改。
第 7 步
编译android.py
在 shell 提示符下
sudo python -m py_compile a--ndroid.py
或调用 Python Interpreter Interactive Shell
sudo python
>>> import py_compile
>>> py_compile.compile('android.py')
第 8 步
在您的项目文件夹中,运行
buildozer android debug
图片
更改第 1 部分 - 从 distutils.version 导入 LooseVersion
更改第 2 部分
编译android.py
>更改后@本地 Buildozer - 应用部署到 Acer Android 平板电脑
更改后@Buildozer VM - 成功的 APK
更改之前@本地 Buildozer - IOError: [Errno 2] 没有这样的文件或目录
更改之前 @ Buildozer VM - IOError: [Errno 2] 没有这样的文件或目录
【讨论】:
以上是关于第一个 Kivy/Buildozer android 项目出错的主要内容,如果未能解决你的问题,请参考以下文章
Python、Kivy、Buildozer:使用 python-firebase/requests 时出错
Kivy Buildozer VM sh.ErrorReturnCode_127 错误