Stack Overflow на русском Asked on November 10, 2021
В общем, решил я написать свою первую программу на Python для Android.
Попробовал создать APK файл командой buildozer android deploy run
.
Лог ошибки:
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.0.5 (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 /usr/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/kivy/Desktop/Python calc/.buildozer/android/platform/python-for-android
https://github.com/kivy/python-for-android.git
Run 'git branch -vv'
Cwd /home/kivy/Desktop/Python calc/.buildozer/android/platform/python-for-android
* master 1b3b0e3f [origin/master] Merge pull request #2225 from kivy/release-2020.06.02
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/kivy/.buildozer/android/platform/apache-ant-1.9.4
Android SDK found at /home/kivy/.buildozer/android/platform/android-sdk
Recommended android's NDK version by p4a is: 19c
Android NDK found at /home/kivy/.buildozer/android/platform/android-ndk-r19c
Check application requirements
Check garden requirements
Compile platform
Run '/usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/kivy/Desktop/Python calc/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21'
Cwd /home/kivy/Desktop/Python calc/.buildozer/android/platform/python-for-android
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/kivy/Desktop/Python calc/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1260, in <module>
main()
File "/home/kivy/Desktop/Python calc/.buildozer/android/platform/python-for-android/pythonforandroid/entrypoints.py", line 18, in main
ToolchainCL()
File "/home/kivy/Desktop/Python calc/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 694, in __init__
self.ctx.setup_dirs(self.storage_dir)
File "/home/kivy/Desktop/Python calc/.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=myapp --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/kivy/Desktop/Python calc/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21
ENVIRONMENT:
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:*.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:'
LESSCLOSE = '/usr/bin/lesspipe %s %s'
XDG_MENU_PREFIX = 'xfce-'
LANG = 'en_ZA.UTF-8'
GDM_LANG = 'en_US'
DISPLAY = ':0.0'
GTK_OVERLAY_SCROLLING = '0'
COLORTERM = 'truecolor'
JAVA_HOME = '/usr/lib/jvm/java-8-openjdk-amd64'
XDG_VTNR = '7'
SSH_AUTH_SOCK = '/run/user/1000/keyring/ssh'
MANDATORY_PATH = '/usr/share/gconf/xubuntu.mandatory.path'
GLADE_CATALOG_PATH = ':'
XDG_SESSION_ID = 'c1'
XDG_GREETER_DATA_DIR = '/var/lib/lightdm-data/kivy'
USER = 'kivy'
GLADE_MODULE_PATH = ':'
DESKTOP_SESSION = 'xubuntu'
DEFAULTS_PATH = '/usr/share/gconf/xubuntu.default.path'
QT_QPA_PLATFORMTHEME = 'gtk2'
PWD = '/home/kivy/Desktop/Python calc'
HOME = '/home/kivy'
SSH_AGENT_PID = '1227'
QT_ACCESSIBILITY = '1'
XDG_SESSION_TYPE = 'x11'
XDG_DATA_DIRS = '/usr/share/xubuntu:/usr/share/xfce4:/usr/local/share:/usr/share:/var/lib/snapd/desktop:/var/lib/snapd/desktop:/usr/share'
XDG_SESSION_DESKTOP = 'xubuntu'
GLADE_PIXMAP_PATH = ':'
CLUTTER_BACKEND = 'x11'
SHELL = '/bin/bash'
VTE_VERSION = '5202'
TERM = 'xterm-256color'
XDG_SEAT_PATH = '/org/freedesktop/DisplayManager/Seat0'
XDG_CURRENT_DESKTOP = 'XFCE'
GPG_AGENT_INFO = '/run/user/1000/gnupg/S.gpg-agent:0:1'
XDG_SEAT = 'seat0'
SHLVL = '1'
LANGUAGE = 'en_ZA:en'
WINDOWID = '60817411'
GDMSESSION = 'xubuntu'
LOGNAME = 'kivy'
DBUS_SESSION_BUS_ADDRESS = 'unix:path=/run/user/1000/bus'
XDG_RUNTIME_DIR = '/run/user/1000'
XAUTHORITY = '/home/kivy/.Xauthority'
XDG_SESSION_PATH = '/org/freedesktop/DisplayManager/Session0'
XDG_CONFIG_DIRS = '/etc/xdg/xdg-xubuntu:/etc/xdg:/etc/xdg'
PATH = '/home/kivy/.buildozer/android/platform/apache-ant-1.9.4/bin:/bin:/home/kivy/bin:/home/kivy/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
SESSION_MANAGER = 'local/kivy-complete:@/tmp/.ICE-unix/1245,unix/kivy-complete:/tmp/.ICE-unix/1245'
LESSOPEN = '| /usr/bin/lesspipe %s'
_ = '/usr/local/bin/buildozer'
PACKAGES_PATH = '/home/kivy/.buildozer/android/packages'
ANDROIDSDK = '/home/kivy/.buildozer/android/platform/android-sdk'
ANDROIDNDK = '/home/kivy/.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
Сам код
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.config import Config
from kivy.lang import Builder
Config.set('graphics', 'resizable', 0)
Config.set('graphics', 'width', 400)
Config.set('graphics', 'height', 500)
class CalcApp(App):
def update_label(self):
self.lbl.text = self.formula
def addNumber(self, instance):
if (self.formula == "0"):
self.formula = ""
self.formula += str(instance.text)
self.update_label()
def add_operation(self, instance):
if (str(instance.text).lower() == "x"):
self.formula += "*"
else:
self.formula += str(instance.text)
self.update_label()
def calc_result(self, instance):
self.lbl.text = str(eval(self.lbl.text))
self.formula = "0"
def build(self):
self.formula = "0"
bl = BoxLayout(orientation='vertical', padding=15)
gl = GridLayout(cols=4, spacing=3, size_hint=(1, .6))
self.lbl = Label(text='0', font_size=40, halign="right", valign="center", size_hint=(1, .4), text_size=(400 - 30, 500 * .4 - 30))
bl.add_widget(self.lbl)
gl.add_widget(Button(text='7', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
gl.add_widget(Button(text='8', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
gl.add_widget(Button(text='9', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
gl.add_widget(Button(text='x', on_press = self.add_operation, background_color = [.94, .94, .94, 1]))
gl.add_widget(Button(text='4', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
gl.add_widget(Button(text='5', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
gl.add_widget(Button(text='6', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
gl.add_widget(Button(text='-', on_press = self.add_operation, background_color = [.94, .94, .94, 1]))
gl.add_widget(Button(text='1', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
gl.add_widget(Button(text='2', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
gl.add_widget(Button(text='3', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
gl.add_widget(Button(text='+', on_press = self.add_operation, background_color = [.94, .94, .94, 1]))
gl.add_widget(Button(text=',', on_press=self.addNumber, background_color=[.94, .94, .94, 1]))
gl.add_widget(Button(text='0', on_press=self.addNumber, background_color = [1, 1, 1, 1]))
gl.add_widget(Button(text='=', on_press = self.calc_result, background_color = [.76, .61, .64, 1]))
gl.add_widget(Button(text='/', on_press=self.add_operation, background_color=[.205, .207, .208, 1]))
bl.add_widget(gl)
return bl
if __name__ == "__main__":
CalcApp().run()
Просто увидел, что в названии папки стоит пробел
Answered by Александр Плетнев on November 10, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP