Seite 1 von 2
kivy buildozer
Verfasst: Sonntag 9. Juni 2019, 14:20
von MupfSpace
Hallo,
ich wollte eine App mit buildozer zu einer Android APK machen.
und bekomme diesen Fehler:
Code: Alles auswählen
# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Read available permissions from api-versions.xml
# Preparing build
# Check requirements for android
# Run 'dpkg --version'
# Cwd None
Debian »dpkg« Paketmanagement-Programm Version 1.19.0.5 (arm64).
Dies ist freie Software; lesen Sie die GNU General Public License in der
Version 2 oder höher für Kopierbedingungen. Es wird KEINE Haftung übernommen.
# Search for Git (git)
# -> found at /usr/bin/git
# Search for Cython (cython)
# -> found at /home/adrian/.local/bin/cython
# Search for Java compiler (javac)
# -> found at /usr/lib/jvm/java-11-openjdk-arm64/bin/javac
# Search for Java keytool (keytool)
# -> found at /usr/lib/jvm/java-11-openjdk-arm64/bin/keytool
# Install platform
# 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\' \'pytoml\' \'virtualenv\''
# Cwd None
# Apache ANT found at /home/adrian/.buildozer/android/platform/apache-ant-1.9.4
# Android SDK found at /home/adrian/.buildozer/android/platform/android-sdk
# Android NDK is missing, downloading
# Downloading https://dl.google.com/android/repository/android-ndk-r17c-linux-x86.zip
Traceback (most recent call last):
File "/home/adrian/.local/bin/buildozer", line 11, in <module>
sys.exit(main())
File "/home/adrian/.local/lib/python3.6/site-packages/buildozer/scripts/client.py", line 13, in main
Buildozer().run_command(sys.argv[1:])
File "/home/adrian/.local/lib/python3.6/site-packages/buildozer/__init__.py", line 1044, in run_command
self.target.run_commands(args)
File "/home/adrian/.local/lib/python3.6/site-packages/buildozer/target.py", line 92, in run_commands
func(args)
File "/home/adrian/.local/lib/python3.6/site-packages/buildozer/target.py", line 102, in cmd_debug
self.buildozer.prepare_for_build()
File "/home/adrian/.local/lib/python3.6/site-packages/buildozer/__init__.py", line 178, in prepare_for_build
self.target.install_platform()
File "/home/adrian/.local/lib/python3.6/site-packages/buildozer/targets/android.py", line 611, in install_platform
self._install_android_ndk()
File "/home/adrian/.local/lib/python3.6/site-packages/buildozer/targets/android.py", line 395, in _install_android_ndk
cwd=self.buildozer.global_platform_dir)
File "/home/adrian/.local/lib/python3.6/site-packages/buildozer/__init__.py", line 689, in download
urlretrieve(url, filename, report_hook)
File "/usr/lib/python3.6/urllib/request.py", line 1819, in retrieve
block = fp.read(bs)
File "/usr/lib/python3.6/tempfile.py", line 624, in func_wrapper
return func(*args, **kwargs)
ValueError: read of closed file
was kann ich dagegen tun?
ich habe gemerkt das ich die datei auch nicht manuel enpacken kann.
Re: kivy buildozer
Verfasst: Sonntag 9. Juni 2019, 14:49
von sparrow
Buildozer baut nicht unter 32bit Linux.
Re: kivy buildozer
Verfasst: Sonntag 9. Juni 2019, 15:13
von MupfSpace
Ich Hab aber 64 bit:
Was kann ich tun?
Re: kivy buildozer
Verfasst: Sonntag 9. Juni 2019, 15:21
von __blackjack__
Das sieht nach einem ARM-Linux aus, es wird aber das Android-NDK für x86 heruntergeladen – muss das so?
Re: kivy buildozer
Verfasst: Sonntag 9. Juni 2019, 15:25
von MupfSpace
Was meinst du mit -muss das so? ?
Re: kivy buildozer
Verfasst: Sonntag 9. Juni 2019, 15:28
von __blackjack__
@MupfSpace: Ist das richtig? Funktioniert das was buildozer mit diesem NDK machen will obwohl das NDK nicht zum System passt auf dem das läuft?
Re: kivy buildozer
Verfasst: Sonntag 9. Juni 2019, 15:30
von MupfSpace
Das ndk existiert nicht dort wo es heruntergeladen werden soll.
Wenn ich die url in einem Webbrowser eingebe steht da not found.
Re: kivy buildozer
Verfasst: Sonntag 9. Juni 2019, 15:52
von sparrow
Dann solltest du dich an die Entwickler von buildozer wenden. Das NDK existiert nicht, weil man
hier sieht, für welche Architekturen es zur Verfügung steht. Normalerweise tritt der von dir beschriebene Fehler auf, wenn man versucht unter einem 32bit Linux etwas zu bauen. Möglicherweise aber auch, wenn man eine nicht unterstützte Architektur verwendet. Ich nehme an, dass hier uname -i ausgewertet wird.
Du musst also klären, ob buildozer unter arm64 überhaupt funktioniert.
Re: kivy buildozer
Verfasst: Sonntag 9. Juni 2019, 16:01
von MupfSpace
Kann ich auch manuell ein ndk herunterladen?
In der buildozer.spec
Gibt es eine Zeile in der man einen Pfad angeben kann wo das ndk liegt.
Aber soll es dort dann schon entpackt sein oder noch als zip?
Re: kivy buildozer
Verfasst: Sonntag 9. Juni 2019, 16:10
von __deets__
Das bringt nichts. Das NDK ist im Grunde eine cross compilation toolchain. Die muss auf dem System laufen, auf dem du buildozer laufen lässt. Es scheint sie aber nicht zu geben für ARM. Es gibt das nur für Intel - auf Windows, Mac & Linux. Du musst da ms also auf einem normalen PC ausführen.
Re: kivy buildozer
Verfasst: Sonntag 9. Juni 2019, 16:59
von MupfSpace
Okay, angekommen ich hätte kein arm sondern etwas das funktioniert.
Müsste ich dann den Pfad für das ndk als zip oder als ordner angeben?
Re: kivy buildozer
Verfasst: Sonntag 9. Juni 2019, 17:35
von __deets__
Das musst du dann doch gar nicht selbst abgeben. Wofür also diese Frage klären?
Re: kivy buildozer
Verfasst: Sonntag 9. Juni 2019, 18:23
von MupfSpace
Aber man kann doch einen Pfad angeben.
Müsste das dann entpackt sein oder als zip?
Und wenn arm nicht geht. Was brauche ich dann?
Re: kivy buildozer
Verfasst: Sonntag 9. Juni 2019, 19:12
von __deets__
Habe ich dir doch gesagt: ein Intel PC. Und nochmal: dann wird das automatisch runter geladen. Warum also willst du das wissen? Wenn es dich interessiert - Probier doch einfach beides aus.
Re: kivy buildozer
Verfasst: Dienstag 11. Juni 2019, 12:19
von MupfSpace
okay in der virtuellen Maschine wird das NDK heruntergeladen.
jetzt bekomme ich aber diesen Fehler:
Code: Alles auswählen
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "/home/adrian/.local/lib/python2.7/site-packages/sh.py", line 1540, in wrap
fn(*args, **kwargs)
File "/home/adrian/.local/lib/python2.7/site-packages/sh.py", line 2459, in background_thread
handle_exit_code(exit_code)
File "/home/adrian/.local/lib/python2.7/site-packages/sh.py", line 2157, in fn
return self.command.handle_command_exit_code(exit_code)
File "/home/adrian/.local/lib/python2.7/site-packages/sh.py", line 815, in handle_command_exit_code
raise exc
ErrorReturnCode_127:
RAN: /home/adrian/TestApp/.buildozer/android/platform/build/build/other_builds/libffi/armeabi-v7a__ndk_target_21/libffi/autogen.sh
STDOUT:
/home/adrian/TestApp/.buildozer/android/platform/build/build/other_builds/libffi/armeabi-v7a__ndk_target_21/libffi/autogen.sh: 2: exec: autoreconf: not found
STDERR:
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/adrian/TestApp/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1186, in <module>
main()
File "/home/adrian/TestApp/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1180, in main
ToolchainCL()
File "/home/adrian/TestApp/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 663, in __init__
getattr(self, args.subparser_name.replace('-', '_'))(args)
File "/home/adrian/TestApp/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 152, in wrapper_func
build_dist_from_args(ctx, dist, args)
File "/home/adrian/TestApp/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 205, in build_dist_from_args
args, "ignore_setup_py", False
File "pythonforandroid/build.py", line 555, in build_recipes
File "/home/adrian/TestApp/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/libffi/__init__.py", line 33, in build_arch
shprint(sh.Command('./autogen.sh'), _env=env)
File "pythonforandroid/logger.py", line 178, in shprint
File "/home/adrian/.local/lib/python2.7/site-packages/sh.py", line 863, in next
self.wait()
File "/home/adrian/.local/lib/python2.7/site-packages/sh.py", line 792, in wait
self.handle_command_exit_code(exit_code)
File "/home/adrian/.local/lib/python2.7/site-packages/sh.py", line 815, in handle_command_exit_code
raise exc
sh.ErrorReturnCode_127:
RAN: /home/adrian/TestApp/.buildozer/android/platform/build/build/other_builds/libffi/armeabi-v7a__ndk_target_21/libffi/autogen.sh
STDOUT:
/home/adrian/TestApp/.buildozer/android/platform/build/build/other_builds/libffi/armeabi-v7a__ndk_target_21/libffi/autogen.sh: 2: exec: autoreconf: not found
STDERR:
# Command failed: /usr/bin/python -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/adrian/TestApp/.buildozer/android/platform/build" --ndk-api=21
# ENVIRONMENT:
# LESSOPEN = '| /usr/bin/lesspipe %s'
# XDG_SESSION_TYPE = 'tty'
# SSH_CLIENT = '192.205.174.23 49866 22'
# LOGNAME = 'adrian'
# USER = 'adrian'
# HOME = '/home/adrian'
# PATH = '/home/adrian/.buildozer/android/platform/apache-ant-1.9.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
# LANG = 'de_DE.UTF-8'
# TERM = 'xterm'
# SHELL = '/bin/bash'
# ANDROIDMINAPI = '21'
# PACKAGES_PATH = '/home/adrian/.buildozer/android/packages'
# SHLVL = '1'
# XDG_SESSION_CLASS = 'user'
# XDG_RUNTIME_DIR = '/run/user/1000'
# ANDROIDSDK = '/home/adrian/.buildozer/android/platform/android-sdk'
# XDG_SESSION_ID = '3'
# DBUS_SESSION_BUS_ADDRESS = 'unix:path=/run/user/1000/bus'
# _ = '/usr/local/bin/buildozer'
# SSH_CONNECTION = '192.205.174.23 49866 192.205.174.33 22'
# LESSCLOSE = '/usr/bin/lesspipe %s %s'
# GTK_MODULES = 'appmenu-gtk-module'
# UBUNTU_MENUPROXY = '1'
# SSH_TTY = '/dev/pts/1'
# OLDPWD = '/home/adrian'
# ANDROIDNDK = '/home/adrian/.buildozer/android/platform/android-ndk-r17c'
# XDG_DATA_DIRS = '/usr/local/share:/usr/share:/var/lib/snapd/desktop'
# PWD = '/home/adrian/TestApp'
# ANDROIDAPI = '27'
# MAIL = '/var/mail/adrian'
# 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:'
#
# 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
was kann ich dagegen tun?
Re: kivy buildozer
Verfasst: Dienstag 11. Juni 2019, 12:29
von sparrow
Zeig doch mal ein bisschen Eigeninitiative.
Bevor du hier wirklich jeden Fehler einzeln anfragst, frag doch vorher mal eine Suchmaschine. Das gehört doch auch zum Entwickeln dazu. Probleme erkennen und ausräumen.
Was sagt die Fehlermeldung?
Re: kivy buildozer
Verfasst: Dienstag 11. Juni 2019, 13:12
von MupfSpace
sparrow hat geschrieben: Dienstag 11. Juni 2019, 12:29
Was sagt die Fehlermeldung?
die Fehler meldung sagt, dass der befehl
Code: Alles auswählen
/usr/bin/python -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/adrian/TestApp/.buildozer/android/platform/build" --ndk-api=21
irgendwie schiefgelaufen ist.
Code: Alles auswählen
# Command failed: /usr/bin/python -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/adrian/TestApp/.buildozer/android/platform/build" --ndk-api=21
Re: kivy buildozer
Verfasst: Dienstag 11. Juni 2019, 13:59
von __deets__
Da steht aber auch warum. Er findet etwas nicht. Schau mal genau hin.
Re: kivy buildozer
Verfasst: Mittwoch 12. Juni 2019, 09:49
von MupfSpace
Aha.
Er findet diese datei nicht
Code: Alles auswählen
/home/adrian/TestApp/.buildozer/android/platform/build/build/other_builds/libffi/armeabi-v7a__ndk_target_21/libffi/autogen.sh
Code: Alles auswählen
STDOUT:
/home/adrian/TestApp/.buildozer/android/platform/build/build/other_builds/libffi/armeabi-v7a__ndk_target_21/libffi/autogen.sh: 2: exec: autoreconf: not found
Re: kivy buildozer
Verfasst: Mittwoch 12. Juni 2019, 10:07
von sparrow
Die "autogen.sh" findet er schon. Und die bricht dann in Zeile 2 ab, weil er etwas nicht findet.
Und wenn du das entweder direkt installierst (der vorher googelst wie das Paket heißt) sollte sich das Problem erledigt haben.