第一个 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 虚拟机

Kivy Buildozer VM sh.ErrorReturnCode_127 错误

Python/Kivy/Buildozer - 应用程序在 Android 中崩溃,但在 PC 上运行良好

如何使用 kivy buildozer 压缩 Apk?

Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m "kivy" d