# Buildozer не удалось выполнить последнюю команду #

#python #android #linux #ubuntu #buildozer

#python #Android #linux #ubuntu #buildozer

Вопрос:

Может кто-нибудь, пожалуйста, решить мою проблему Я использую buildozer на виртуальной машине Linux для преобразования файла .py в apk для моего мобильного Android

Это мой первый проект kivy, и мне действительно нужна помощь, чтобы сделать это возможным

Это код

 import kivy
from kivy.app import App
from kivy.uix.button import Button

class MyApp(App):
    def build(self):
        return Button(text='Hello World')

if __name__ in ('__android__', '__main__'):
    MyApp().run()
 

Это очень простая команда, которая отображает кнопку с надписью hello world

Когда я использую buildozer android debug, он возвращает мне эту ошибку:

 ubuntu@ubuntu2004:~/Desktop/Lunar Aplocon$ buildozer android debug
# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Preparing build
# Check requirements for android
# Run 'dpkg --version'
# Cwd None
Debian 'dpkg' package management program version 1.19.7 (amd64).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.
# Search for Git (git)
#  -> found at /usr/bin/git
# Search for Cython (cython)
#  -> found at /home/ubuntu/.local/bin/cython
# Search for Java compiler (javac)
#  -> found at /usr/lib/jvm/java-11-openjdk-amd64/bin/javac
# Search for Java keytool (keytool)
#  -> found at /usr/lib/jvm/java-11-openjdk-amd64/bin/keytool
# Install platform
# Run 'git config --get remote.origin.url'
# Cwd /home/ubuntu/Desktop/Lunar Aplocon/.buildozer/android/platform/python-for-android
https://github.com/kivy/python-for-android.git
# Run 'git branch -vv'
# Cwd /home/ubuntu/Desktop/Lunar Aplocon/.buildozer/android/platform/python-for-android
* master 5a94d074 [origin/master] Merge pull request #2244 from Chronolife-team/native_services_upstream
# Run '/usr/bin/python3 -m pip install -q --user 'appdirs' 'colorama>=0.3.3' 'jinja2' 'six' 'enum34; python_version<"3.4"' 'sh>=1.10; sys_platform!="nt"' 'pep517<0.7.0"' 'toml''
# Cwd None
# Apache ANT found at /home/ubuntu/.buildozer/android/platform/apache-ant-1.9.4
# Android SDK found at /home/ubuntu/.buildozer/android/platform/android-sdk
# Recommended android's NDK version by p4a is: 19c
# Android NDK found at /home/ubuntu/.buildozer/android/platform/android-ndk-r19c
# Check application requirements
# Check garden requirements
# Compile platform
# Run '/usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=Newzac --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/ubuntu/Desktop/Lunar Aplocon/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21'
# Cwd /home/ubuntu/Desktop/Lunar Aplocon/.buildozer/android/platform/python-for-android
/home/ubuntu/Desktop/Lunar Aplocon/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py:84: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/ubuntu/Desktop/Lunar Aplocon/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1260, in <module>
    main()
  File "/home/ubuntu/Desktop/Lunar Aplocon/.buildozer/android/platform/python-for-android/pythonforandroid/entrypoints.py", line 18, in main
    ToolchainCL()
  File "/home/ubuntu/Desktop/Lunar Aplocon/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 694, in __init__
    self.ctx.setup_dirs(self.storage_dir)
  File "/home/ubuntu/Desktop/Lunar Aplocon/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 173, in setup_dirs
    raise ValueError('storage dir path cannot contain spaces, please '
ValueError: storage dir path cannot contain spaces, please specify a path with --storage-dir
# Command failed: /usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=Newzac --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/ubuntu/Desktop/Lunar Aplocon/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21
# ENVIRONMENT:
#     SHELL = '/bin/bash'
#     SESSION_MANAGER = 'local/ubuntu2004:@/tmp/.ICE-unix/1734,unix/ubuntu2004:/tmp/.ICE-unix/1734'
#     QT_ACCESSIBILITY = '1'
#     COLORTERM = 'truecolor'
#     XDG_CONFIG_DIRS = '/etc/xdg/xdg-ubuntu:/etc/xdg'
#     XDG_MENU_PREFIX = 'gnome-'
#     GNOME_DESKTOP_SESSION_ID = 'this-is-deprecated'
#     GTK_IM_MODULE = 'ibus'
#     QT4_IM_MODULE = 'ibus'
#     GNOME_SHELL_SESSION_MODE = 'ubuntu'
#     SSH_AUTH_SOCK = '/run/user/1000/keyring/ssh'
#     XMODIFIERS = '@im=ibus'
#     DESKTOP_SESSION = 'ubuntu'
#     SSH_AGENT_PID = '1628'
#     GTK_MODULES = 'gail:atk-bridge'
#     DBUS_STARTER_BUS_TYPE = 'session'
#     PWD = '/home/ubuntu/Desktop/Lunar Aplocon'
#     LOGNAME = 'ubuntu'
#     XDG_SESSION_DESKTOP = 'ubuntu'
#     XDG_SESSION_TYPE = 'x11'
#     GPG_AGENT_INFO = '/run/user/1000/gnupg/S.gpg-agent:0:1'
#     XAUTHORITY = '/run/user/1000/gdm/Xauthority'
#     WINDOWPATH = '2'
#     HOME = '/home/ubuntu'
#     USERNAME = 'ubuntu'
#     IM_CONFIG_PHASE = '1'
#     LANG = 'en_US.UTF-8'
#     LS_COLORS = 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:'
#     XDG_CURRENT_DESKTOP = 'ubuntu:GNOME'
#     VTE_VERSION = '6003'
#     GNOME_TERMINAL_SCREEN = '/org/gnome/Terminal/screen/c51b243c_61ea_40b5_8d21_7ae9872461c6'
#     INVOCATION_ID = 'a6f15881930a4d0284aae1df91941ec2'
#     MANAGERPID = '1449'
#     CLUTTER_IM_MODULE = 'ibus'
#     LESSCLOSE = '/usr/bin/lesspipe %s %s'
#     XDG_SESSION_CLASS = 'user'
#     TERM = 'xterm-256color'
#     LESSOPEN = '| /usr/bin/lesspipe %s'
#     USER = 'ubuntu'
#     GNOME_TERMINAL_SERVICE = ':1.218'
#     DISPLAY = ':0'
#     SHLVL = '1'
#     QT_IM_MODULE = 'ibus'
#     DBUS_STARTER_ADDRESS = 'unix:path=/run/user/1000/bus,guid=fa17123d1ef28ed988e7c66f5fdc433c'
#     XDG_RUNTIME_DIR = '/run/user/1000'
#     JOURNAL_STREAM = '9:53552'
#     XDG_DATA_DIRS = '/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop'
#     PATH = '/home/ubuntu/.buildozer/android/platform/apache-ant-1.9.4/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
#     GDMSESSION = 'ubuntu'
#     DBUS_SESSION_BUS_ADDRESS = 'unix:path=/run/user/1000/bus,guid=fa17123d1ef28ed988e7c66f5fdc433c'
#     _ = '/home/ubuntu/.local/bin/buildozer'
#     PACKAGES_PATH = '/home/ubuntu/.buildozer/android/packages'
#     ANDROIDSDK = '/home/ubuntu/.buildozer/android/platform/android-sdk'
#     ANDROIDNDK = '/home/ubuntu/.buildozer/android/platform/android-ndk-r19c'
#     ANDROIDAPI = '27'
#     ANDROIDMINAPI = '21'
# 
# Buildozer failed to execute the last command
# The error might be hidden in the log above this error
# Please read the full log, and search for it before
# raising an issue with buildozer itself.
# In case of a bug report, please add a full log with log_level = 2
 

Комментарии:

1. На каком этапе происходит сбой? Пожалуйста, включите вывод перед ошибкой или его часть, если он слишком длинный

2. @Shar я отредактировал вопрос и предоставил полный вывод на командном терминале, пожалуйста, помогите мне устранить ошибку.

Ответ №1:

Я предполагаю , что у вас есть ваши файлы в каталоге с именем 'Lunar Aplocon' . Проблема возникает из-за пробела ' ' в имени файла. Даже когда вы вводите имя в свой файл buildozer.sec, старайтесь не включать никаких пробелов (вы можете включить в заголовок, но не в организацию и другую информацию). Так что вам просто нужно переименовать свой каталог, и тогда все будет в порядке.

Комментарии:

1. Большое вам спасибо, это решило мою проблему.

2. Нет проблем. Если вы не возражаете, примите ответ как правильный (нажав на эту галочку)

3. Конечно. Ваш ответ был очень полезен для меня.