第一个Kivy/Buildozer android项目出错 [英] Error on first Kivy/Buildozer android project
问题描述
尝试在Ubuntu 16.04上使用buildozer运行Kivy, (startup-demo-project pong)我收到一个错误 根据命令
Trying to run Kivy with buildozer on Ubuntu 16.04, (startup-demo-project pong) I get an error on command
buildozer android debug deploy
之后: .... [DEBUG]:成功建立 ....
After: .... [DEBUG]: BUILD SUCCESSFUL ....
在构建结束时出现错误消息:
at the end of the build there is an error message:
....
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.
My installation is according to: http://buildozer.readthedocs.io/en/latest/installation.html for Ubuntu 16.04.
也 增效剂服务 仅显示以下内容:
Also buildozer serve does not show anything useful, only:
Directory listing for /
作为对电话的回复:
http://localhost:8000
Buildozer控制台说:
Buildozer console says:
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以获得更多信息,但无法弄清楚在哪里可以找到相关的日志文件或在哪里可以获得有关该错误的更多信息.
Annotation: I changed the log_level = 2 for more information, but could not figure out where to find the relevant log file or where to get more information about the error.
推荐答案
问题
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.请在终端窗口中执行以下操作:
Solution
Use sudo to change and recompile android.py for Python 2.7. Please do the following at terminal window:
更改目录
cd /usr/local/lib/python2.7/dist-packages/buildozer/targets
步骤2
制作android.py和android.pyc的备份副本
Step 2
Make backup copies of android.py and android.pyc
sudo cp android.py android-orig.py
sudo cp android.pyc android-orig.pyc
步骤3
使用编辑器对android.py进行更改
Step 3
Use an editor to make changes to android.py
sudo gedit android.py
步骤4
在import sys
from distutils.version import LooseVersion
步骤5
在第791行(# XXX found how the apk name is really built from the title
)之后添加以下代码. 注意: __ sdk_dir (双下划线).有关详细信息,请参阅下面的打印屏幕.
Step 5
Add the following codes after line 791 (# XXX found how the apk name is really built from the title
). Note: __sdk_dir (double underscore). Please refer to print screens below for details.
__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
保存更改.
Step 6
Save the changes.
编译android.py
Compile android.py
sudo python -m py_compile a--ndroid.py
或调用Python Interpreter交互式Shell
sudo python
>>> import py_compile
>>> py_compile.compile('android.py')
步骤8
在您的项目文件夹中运行
Step 8
At your project folder, run
buildozer android debug
图片
更改第1部分-从distutils.version导入LooseVersion
Pictures
Changes Part 1 - from distutils.version import LooseVersion
这篇关于第一个Kivy/Buildozer android项目出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!