Ошибка в первом проекте Kivy/Buildozer android
При попытке запустить Kivy с buildozer на Ubuntu 16.04, (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.
Также buildozer serve не показывает ничего полезного, только:
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 для изменения и перекомпиляции android.py для Python 2.7. Пожалуйста, сделайте следующее в окне терминала:
Шаг 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
По приглашению оболочки
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