第一个Kivy / Buildozer android项目出错

时间:2018-04-15 19:38:42

标签: kivy buildozer

尝试在Ubuntu 16.04上使用buildozer运行Kivy, (startup-demo-project pong)我收到一个错误 在命令

buildozer android debug deploy

在:      ....      [DEBUG]:建立成功      ....

在构建结束时出现错误消息:

....
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。

另外     buildozer服务 没有显示任何有用的东西,只有:

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 个答案:

答案 0 :(得分:2)

问题

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

第2步

制作android.py和android.pyc的备份副本

sudo cp android.py android-orig.py
sudo cp android.pyc android-orig.pyc

第3步

使用编辑器更改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 (双下划线)。有关详细信息,请参阅下面的打印屏幕。

    __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

Img01 - import LooseVersion

更改第2部分

Img02 - remaining changes

编译android.py

Img03 - Compile android.py

更改后@本地Buildozer - 应用程序部署到Acer Android平板电脑

Img04 @ local Buildozer - App deployed

更改后@ Buildozer VM - 成功APK

enter image description here

更改之前@本地Buildozer - IOError:[Errno 2]没有这样的文件或目录

Img06 @ local Buildozer - IOError: Errno 2

更改之前@ Buildozer VM - IOError:[Errno 2]没有这样的文件或目录

Img07 @ BuildozerVM - IOError: Errno 2