Kivy-Ubuntu вылетает после "buildozer android logcat"

ПОСЛЕДНИЕ РЕДАКТИРОВАТЬ СЕГОДНЯ:

Создал репозиторий github для файлов журналов "buildozer android logcat" и "buildozer android debug deploy run logcat".

Удален мой ответ, где я разместил небольшую часть этого файла журнала.

РЕДАКТИРОВАТЬ 18.03.2018:

Я вернулся к проблеме, с которой я начал эту тему: я могу запустить свое приложение через Kivy Launcher, я могу создать файл apk из моего исходного кода, я могу установить этот файл apk. Но я не могу отладить этот файл apk (см. Мое оригинальное сообщение ниже).

Я обнаружил, что вы можете регистрировать историю терминала (команды + вывод), используя "script -a history_for_stackru.txt". Однако менее чем за одну минуту выполнения процесса "buildozer android logcat" выдает более 600000 (шестьсот тысяч) символов ведения журнала. И, очевидно, вопросы stackru имеют максимум 30000 символов.

Я опубликую первую часть файла журнала как ответ на мой собственный вопрос. Но, как я уже упоминал в своем первоначальном сообщении, вывод, по-моему, является очень повторяющимся и не связанным с моим приложением. Как запуск, так и сбой моего приложения (во время процесса logcat), по-видимому, не влияют на вывод в окне терминала. И я не могу исключить, что интересная часть (где мое приложение запускается / где оно падает) является частью журнала, который я могу опубликовать здесь.

Пожалуйста, дайте мне знать, если я напишу вам письмо с полным лог-файлом. Любые другие предложения приветствуются!

================================================== =======================

РЕДАКТИРОВАТЬ 18.03.2018:

Хорошо, я попробовал еще кое-что: я могу создать файл apk из приложения "touchtracer" на примере kivy. Во время "buildozer andoid debug" ошибок нет. Так что buildozer-vm вроде бы в порядке. Поскольку процесс сборки работает с примером приложения, очевидно, что проблема не в buildozer-vm, а в моем приложении / коде.

Приложение touchtracer зависит от математики и случайного модуля. Поэтому со второй попытки я включил эти библиотеки в файл buildozer.spec в строке требований. Делать то, что разрушает, нарушает процесс сборки. Поэтому я предполагаю, что стандартные библиотеки не нужно указывать в файле buildozer.spec. Это может быть первой причиной, по которой мой процесс сборки больше не работает (я указываю оператор, веб-браузер, random и т. Д. В файле buildozer.spec моей CalculationGame).

Тем временем я нашел файлы журналов Kivy-Launcher в файловой системе моего телефона: "kivy/CalculationGame/.kivy/logs/*. Txt". Они предполагают, что мое приложение вылетает из-за плохого super(). Начальные заявления. Я использую нотацию Python 3, где вам не нужно указывать подкласс в качестве параметра вызова super(). В Python 2, однако, вам нужно это сделать.

Должен ли я перейти на нотацию Python 2? Может быть, есть какая-то строка в файле buildozer.spec, где я могу определить, что kivy должен ожидать код Python 3?

Ради полноты я выкладываю файл журнала "Kivy Launcher", запускающий мою CalculationGame:

[INFO              ] Logger: Record log in /storage/emulated/0/kivy/CalculationGame/.kivy/logs/kivy_18-03-16_5.txt
[INFO              ] Kivy: v1.9.1
[INFO              ] Python: v2.7.2 (default, Mar 20 2016, 23:30:13) 
[GCC 4.8]
[INFO              ] Factory: 179 symbols loaded
[WARNING           ] stderr: /data/data/org.kivy.pygame/files/lib/python2.7/site-packages/kivy/core/image/img_pygame.py:13: RuntimeWarning: import cdrom: No module named cdrom
[WARNING           ] stderr: (ImportError: No module named cdrom)
[INFO              ] Image: Providers: img_tex, img_dds, img_gif, img_pygame, img_pil (img_ffpyplayer ignored)
[INFO              ] Window: Provider: pygame
[INFO              ] GL: OpenGL version <OpenGL ES 3.0 [email protected] [email protected] (CL@)>
[INFO              ] GL: OpenGL vendor <Qualcomm>
[INFO              ] GL: OpenGL renderer <Adreno (TM) 320>
[INFO              ] GL: OpenGL parsed version: 3, 0
[INFO              ] GL: Texture max size <4096>
[INFO              ] GL: Texture max units <16>
[INFO              ] Shader: program: <--From Vertex Shader:
--From Fragment Shader:
Link was successful.>
[INFO              ] Support: Android install hooks
[INFO              ] Window: virtual keyboard not allowed, single mode, not docked
[INFO              ] Text: Provider: pygame
[WARNING           ] stderr: Traceback (most recent call last):
[WARNING           ] stderr:   File "main.py", line 497, in <module>
[WARNING           ] stderr:     CalculationApp().run()
[WARNING           ] stderr:   File "main.py", line 387, in __init__
[WARNING           ] stderr:     super().__init__(*args, **kwargs)
[WARNING           ] stderr: TypeError: super() takes at least 1 argument (0 given)

================================================== ======================

РЕДАКТИРОВАТЬ 18.03.2018:

Я использую некоторые стандартные библиотеки Python в своем приложении (оператор, datetime, functools и т. Д.), И я не указал их в своем файле buildozer.spec. Я думаю, что это может быть причиной мгновенного сбоя приложения на моем телефоне.

Однако теперь, когда я указал библиотеки в своем файле buildozer.spec, процесс сборки "buildozer android debug" приводит к ошибке:

kivy@kivyvm:~$ cd Projects
kivy@kivyvm:~/Projects$ cd CalcGame
kivy@kivyvm:~/Projects/CalcGame$ ls
bin             CalcGameStats.txt  calculation.kv    main.py  Pipfile.lock
buildozer.spec  calculation.ini    json_settings.py  Pipfile  __pycache__
kivy@kivyvm:~/Projects/CalcGame$ buildozer android debug
# Check configu

ration 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.18.10 (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-8-openjdk-amd64/bin/javac
# Search for Java keytool (keytool)
#  -> found at /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/keytool
# Install platform
# Run 'pip install -q --user "appdirs" "colorama>=0.3.3" "sh>=1.10,<1.12.5" "jinja2" "six"'
# 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-20
# Android NDK found at /home/kivy/.buildozer/android/platform/android-ndk-r9c
# Check application requirements
# Check garden requirements
# Compile platform
# Run '/usr/bin/python -m pythonforandroid.toolchain create --dist_name=calcgame --bootstrap=sdl2 --requirements=kivy,operator,webbrowser,random,datetime,functools,android --arch armeabi-v7a --copy-libs --color=always --storage-dir=/home/kivy/Projects/CalcGame/.buildozer/android/platform/build'
# Cwd /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Will compile for the following archs: armeabi-v7a
[INFO]:    Found Android API target in $ANDROIDAPI
[INFO]:    Available Android APIs are (19)
[INFO]:    Requested API target 19 is available, continuing.
[INFO]:    Found NDK dir in $ANDROIDNDK
[INFO]:    Got NDK version from $ANDROIDNDKVER
[INFO]:    Using Google NDK r9c
[INFO]:    Found virtualenv at /usr/local/bin/virtualenv
[INFO]:    ccache is missing, the build will not be optimized in the future.
[INFO]:    Found the following toolchain versions: ['4.6', '4.8', 'clang3.3']
[INFO]:    Picking the latest gcc toolchain, here 4.8
[WARNING]: Missing executable: autoconf is not installed
[WARNING]: Missing executable: automake is not installed
[WARNING]: Missing executable: libtoolize is not installed
[INFO]:    No existing dists meet the given requirements!
[INFO]:    No dist exists that meets your requirements, so one will be built.
[INFO]:    Found multiple valid dependency orders:
[INFO]:        [u'datetime', u'functools', 'hostpython2', u'operator', u'random', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', u'webbrowser', 'python2', 'sdl2', 'six', u'android', 'pyjnius', u'kivy']
[INFO]:        [u'datetime', u'functools', 'hostpython3crystax', u'operator', u'random', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', u'webbrowser', 'python3crystax', 'sdl2', 'six', u'android', 'pyjnius', u'kivy']
[INFO]:        [u'datetime', u'functools', 'hostpython2', u'operator', 'pygame_bootstrap_components', u'random', u'webbrowser', 'python2', 'sdl', 'six', 'pygame', 'pyjnius', u'android', u'kivy']
[INFO]:    Using the first of these: [u'datetime', u'functools', 'hostpython2', u'operator', u'random', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', u'webbrowser', 'python2', 'sdl2', 'six', u'android', 'pyjnius', u'kivy']
[INFO]:    The selected bootstrap is sdl2_gradle
[INFO]:    # Creating dist with sdl2_gradle bootstrap
[INFO]:    Dist will have name calcgame and recipes (kivy, operator, webbrowser, random, datetime, functools, android)
[INFO]:    Dist will also contain modules (operator, functools, random, webbrowser, datetime) installed from pip
[INFO]:    -> running cp -r /home/kivy/Projects/Calc...(and 210 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/build/bootstrap_builds/sdl2_gradle-python2
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Recipe build order is ['hostpython2', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'python2', 'sdl2', 'six', u'android', 'pyjnius', u'kivy']
[INFO]:    The requirements (datetime, functools, operator, random, webbrowser) were not found as recipes, they will be installed with pip.
[INFO]:    # Downloading recipes 
[INFO]:    Downloading hostpython2
[INFO]:    -> running mkdir -p /home/kivy/Projects/C...(and 62 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/packages/hostpython2
[INFO]:    -> running basename https://python.org/ftp...(and 34 more)
[INFO]:    hostpython2 download already cached, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading sdl2_image
[INFO]:    -> running mkdir -p /home/kivy/Projects/C...(and 61 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/packages/sdl2_image
[INFO]:    -> running basename https://www.libsdl.or...(and 52 more)
[INFO]:    sdl2_image download already cached, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading sdl2_mixer
[INFO]:    -> running mkdir -p /home/kivy/Projects/C...(and 61 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/packages/sdl2_mixer
[INFO]:    -> running basename https://www.libsdl.or...(and 52 more)
[INFO]:    sdl2_mixer download already cached, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading sdl2_ttf
[INFO]:    -> running mkdir -p /home/kivy/Projects/C...(and 59 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/packages/sdl2_ttf
[INFO]:    -> running basename https://www.libsdl.org...(and 48 more)
[INFO]:    sdl2_ttf download already cached, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading python2
[INFO]:    -> running mkdir -p /home/kivy/Projects/C...(and 58 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/packages/python2
[INFO]:    -> running basename https://python.org/ftp...(and 34 more)
[INFO]:    python2 download already cached, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading sdl2
[INFO]:    -> running mkdir -p /home/kivy/Projects/C...(and 55 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/packages/sdl2
[INFO]:    -> running basename https://www.libsdl.org...(and 26 more)
[INFO]:    sdl2 download already cached, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading six
[INFO]:    -> running mkdir -p /home/kivy/Projects/C...(and 54 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/packages/six
[INFO]:    -> running basename https://pypi.python.or...(and 40 more)
     [INFO]:    six download already cached, skipping                          
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading android
[INFO]:    Skipping android download as no URL is set
[INFO]:    Downloading pyjnius
[INFO]:    -> running mkdir -p /home/kivy/Projects/C...(and 58 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/packages/pyjnius
[INFO]:    -> running basename https://github.com/kiv...(and 28 more)
[INFO]:    pyjnius download already cached, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Downloading kivy
[INFO]:    -> running mkdir -p /home/kivy/Projects/C...(and 55 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/packages/kivy
[INFO]:    -> running basename https://github.com/kiv...(and 25 more)
[INFO]:    kivy download already cached, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    # Building all recipes for arch armeabi-v7a
[INFO]:    # Unpacking recipes
[INFO]:    Unpacking hostpython2 for armeabi-v7a
[INFO]:    -> running basename https://python.org/ftp...(and 34 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/build/other_builds/hostpython2/desktop
[INFO]:    hostpython2 is already unpacked, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Unpacking sdl2_image for armeabi-v7a
[INFO]:    -> running basename https://www.libsdl.or...(and 52 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/build/bootstrap_builds/sdl2_gradle-python2/jni
[INFO]:    sdl2_image is already unpacked, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Unpacking sdl2_mixer for armeabi-v7a
[INFO]:    -> running basename https://www.libsdl.or...(and 52 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/build/bootstrap_builds/sdl2_gradle-python2/jni
[INFO]:    sdl2_mixer is already unpacked, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Unpacking sdl2_ttf for armeabi-v7a
[INFO]:    -> running basename https://www.libsdl.org...(and 48 more)
           work[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/build/bootstrap_builds/sdl2_gradle-python2/jni
[INFO]:    sdl2_ttf is already unpacked, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Unpacking python2 for armeabi-v7a
[INFO]:    -> running basename https://python.org/ftp...(and 34 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/build/other_builds/python2/armeabi-v7a
[INFO]:    python2 is already unpacked, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Unpacking sdl2 for armeabi-v7a
[INFO]:    -> running basename https://www.libsdl.org...(and 26 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/build/bootstrap_builds/sdl2_gradle-python2/jni
[INFO]:    sdl2 is already unpacked, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Unpacking six for armeabi-v7a
[INFO]:    -> running basename https://pypi.python.or...(and 40 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/build/other_builds/six-python2/armeabi-v7a
[INFO]:    six is already unpacked, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    -> running rm -rf /home/kivy/Projects/Cal...(and 99 more)
[INFO]:    -> running cp -a /home/kivy/Projects/Calc...(and 225 more)
[INFO]:    Unpacking pyjnius for armeabi-v7a
[INFO]:    -> running basename https://github.com/kiv...(and 28 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/build/other_builds/pyjnius-python2-sdl2/armeabi-v7a
[INFO]:    pyjnius is already unpacked, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Unpacking kivy for armeabi-v7a
[INFO]:    -> running basename https://github.com/kiv...(and 25 more)
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/build/other_builds/kivy-python2-sdl2/armeabi-v7a
[INFO]:    kivy is already unpacked, skipping
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    # Prebuilding recipes
[INFO]:    Prebuilding hostpython2 for armeabi-v7a
[INFO]:    -> running cp /home/kivy/Projects/CalcGam...(and 233 more)
[INFO]:    Prebuilding sdl2_image for armeabi-v7a
[INFO]:    sdl2_image has no prebuild_armeabi_v7a, skipping
[INFO]:    Applying patches for sdl2_image[armeabi-v7a]
[INFO]:    sdl2_image already patched, skipping
[INFO]:    Prebuilding sdl2_mixer for armeabi-v7a
[INFO]:    sdl2_mixer has no prebuild_armeabi_v7a, skipping
[INFO]:    Applying patches for sdl2_mixer[armeabi-v7a]
[INFO]:    sdl2_mixer already patched, skipping
[INFO]:    Prebuilding sdl2_ttf for armeabi-v7a
[INFO]:    sdl2_ttf has no prebuild_armeabi_v7a, skipping
[INFO]:    Prebuilding python2 for armeabi-v7a
[INFO]:    python2 has no prebuild_armeabi_v7a, skipping
[INFO]:    Applying patches for python2[armeabi-v7a]
[INFO]:    python2 already patched, skipping
[INFO]:    Prebuilding sdl2 for armeabi-v7a
[INFO]:    sdl2 has no prebuild_armeabi_v7a, skipping
[INFO]:    Applying patches for sdl2[armeabi-v7a]
[INFO]:    sdl2 already patched, skipping
[INFO]:    Prebuilding six for armeabi-v7a
[INFO]:    six has no prebuild_armeabi_v7a, skipping
[INFO]:    Prebuilding android for armeabi-v7a
[INFO]:    android has no prebuild_armeabi_v7a, skipping
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/build/other_builds/android-python2-sdl2/armeabi-v7a/android
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Prebuilding pyjnius for armeabi-v7a
[INFO]:    pyjnius has no prebuild_armeabi_v7a, skipping
[INFO]:    Applying patches for pyjnius[armeabi-v7a]
[INFO]:    pyjnius already patched, skipping
[INFO]:    Prebuilding kivy for armeabi-v7a
[INFO]:    kivy has no prebuild_armeabi_v7a, skipping
[INFO]:    # Building recipes
[INFO]:    Building hostpython2 for armeabi-v7a
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/build/other_builds/hostpython2/desktop/hostpython2
[INFO]:    hostpython already exists, skipping build
[INFO]:    <- directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain
[INFO]:    Building sdl2_image for armeabi-v7a
[INFO]:    Building sdl2_mixer for armeabi-v7a
[INFO]:    Building sdl2_ttf for armeabi-v7a
[INFO]:    Building python2 for armeabi-v7a
[INFO]:    Copying hostpython binary to targetpython folder
[INFO]:    -> running cp /home/kivy/Projects/CalcGam...(and 207 more)
[INFO]:    Building sdl2 for armeabi-v7a
[INFO]:    -> directory context /home/kivy/Projects/CalcGame/.buildozer/android/platform/build/build/bootstrap_builds/sdl2_gradle-python2/jni
[INFO]:    -> running ndk-build V=1
           working: /homeException in thread background thread for pid 2431:   
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 "/usr/local/lib/python2.7/dist-packages/sh.py", line 2170, in background_thread
    handle_exit_code(exit_code)
  File "/usr/local/lib/python2.7/dist-packages/sh.py", line 1929, in fn
    return self.command.handle_command_exit_code(exit_code)
  File "/usr/local/lib/python2.7/dist-packages/sh.py", line 672, in handle_command_exit_code
    raise exc
ErrorReturnCode_2: 

  RAN: /home/kivy/.buildozer/android/platform/android-ndk-r9c/ndk-build V=1

  STDOUT:
/home/kivy/Projects/CalcGame/.buildozer/android/platform/build/build/bootstrap_builds/sdl2_gradle-python2/jni/sdl/Android.mk:8: *** Please define SDL_JAVA_PACKAGE_PATH to the path of your Java package with dots replaced with underscores, for example "com_example_SanAngeles".  Stop.


  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/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/toolchain.py", line 978, in <module>
    main()
  File "/home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/toolchain.py", line 975, in main
    ToolchainCL()
  File "/home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/toolchain.py", line 512, in __init__
    getattr(self, args.subparser_name.replace('-', '_'))(args)
  File "/home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/toolchain.py", line 149, in wrapper_func
    build_dist_from_args(ctx, dist, args)
  File "/home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/toolchain.py", line 193, in build_dist_from_args
    build_recipes(build_order, python_modules, ctx)
  File "pythonforandroid/build.py", line 573, in build_recipes
  File "/home/kivy/Projects/CalcGame/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/recipes/sdl2/__init__.py", line 32, in build_arch
    shprint(sh.ndk_build, "V=1", _env=env)
  File "pythonforandroid/logger.py", line 175, in shprint
  File "/usr/local/lib/python2.7/dist-packages/sh.py", line 720, in next
    self.wait()
  File "/usr/local/lib/python2.7/dist-packages/sh.py", line 651, in wait
    self.handle_command_exit_code(exit_code)
  File "/usr/local/lib/python2.7/dist-packages/sh.py", line 672, in handle_command_exit_code
    raise exc
sh.ErrorReturnCode_2: 

  RAN: /home/kivy/.buildozer/android/platform/android-ndk-r9c/ndk-build V=1

  STDOUT:
/home/kivy/Projects/CalcGame/.buildozer/android/platform/build/build/bootstrap_builds/sdl2_gradle-python2/jni/sdl/Android.mk:8: *** Please define SDL_JAVA_PACKAGE_PATH to the path of your Java package with dots replaced with underscores, for example "com_example_SanAngeles".  Stop.


  STDERR:

# Command failed: /usr/bin/python -m pythonforandroid.toolchain create --dist_name=calcgame --bootstrap=sdl2 --requirements=kivy,operator,webbrowser,random,datetime,functools,android --arch armeabi-v7a --copy-libs --color=always --storage-dir=/home/kivy/Projects/CalcGame/.buildozer/android/platform/build
# 
# 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

Это известная проблема в стеке потока: сборка Buildozer завершается неудачно при сборке NDK, что приводит к ошибке SDL_JAVA_PACKAGE_PATH. Решением было удалить все, что связано с KIVY, а затем начать с нуля. Перед тем, как переустановить виртуальную машину Kivy Buildozer, я попытаюсь собрать один из примеров проектов и посмотреть, появляется ли такая же ошибка.

================================================== =======================

Оригинал сообщения:

На этой неделе я запрограммировал небольшой расчет игры в киви. Теперь основные функции работают, поэтому я хочу создать apk-файл из моего приложения. Мои проблемы возникают при отладке этого файла apk. Но я начинаю историю с самого начала:

Следуя официальным документам kivy, я установил виртуальную коробку (с пакетом расширения для USB-устройств) и импортировал виртуальную машину Kivy/Buildozer. После получения правильного пароля (это "kivz" на немецкой клавиатуре) и обработки одного исключения во время процесса сборки (некоторые строки buildozer.py нуждались в изменениях), я получил файл apk.

Загрузил apk в мою учетную запись Dropbox, загрузил его на мой телефон (Sony Xperia Z1), установил "apk-installer" на мой телефон, установил CalculationGame через apk-installer. Но игра не будет работать: если вы нажмете на иконку, экран на короткое время почернеет, а затем закроется приложение со стандартным сообщением об ошибке "Расчет игры wurde leider beendet".

Следующим, что я попробовал, была установка Kivy Launcher и запуск моего приложения через этот Launcher. На нем изображен черный экран с логотипом kivy в центре с надписью "Загрузка...". Затем он падает. К сожалению, я не могу найти файлы журнала. Они должны быть расположены в "kivy/CalculationGame/.kivy/". Но эта папка ".кивы" не создана на моем телефоне.

Поэтому я снова запустил виртуальную машину Kivy/Buildozer, подключил к ней свой телефон и установил режим "отладки". Kivy/Buildozer VM напрямую распознала мой телефон (был создан новый значок на рабочем столе). Затем я зашел в терминал и перешел в папку проекта "home/kivy/Projects/CalcGame" (это папка с main.py и analysis.kv, но также папка, в которой происходит сборка, поэтому у нее есть подпапка с именем "build", где сохранен apk). В этой папке я запустил "buildozer android logcat". Он печатает 3 строки, а затем ждет телефона. Поэтому я посмотрел на свой телефон, и он спросил меня, хочу ли я разрешить компьютеру отлаживать его. Я сказал да, конечно, и затем окно терминала начало регистрировать проводные данные. Среди прочего информация о сетевом подключении моего телефона (я прочитал мой wlan ssid, например). Но ничего не связано с моим приложением. И журнал, казалось, повторился после нескольких строк.

Во время этой проводной регистрации я пробовал разные вещи: просто подождал, запустил приложение CalculationGame на своем телефоне и запустил свое приложение через приложение Kivy-Launcher. Ничто не повлияло на вывод в окне терминала Kivy/Buildozer VM. В конце концов я убиваю процесс "buildozer android logcat" с помощью "strg+c". Однако это приводит к сбою / зависанию всей виртуальной машины Kivy/Buildozer.

Я чувствую, что в создании / отладке apk есть что-то очень простое, чего я не понимаю или что я делаю неправильно в своем подходе. Что это?

Дайте мне знать, если вам нужна дополнительная информация о моем коде / телефон / версия для Android /windows(10)/...

2 ответа

Решение

Трассировка находится в журнале logcat, который вы разместили через github:

I/python  (11902):  Traceback (most recent call last):

I/python  (11902):    File "/home/kivy/Projects/CalcGame/.buildozer/android/app/main.py", line 495, in <module>

I/python  (11902):    File "/home/kivy/Projects/CalcGame/.buildozer/android/platform/build/dists/calcgame/private/lib/python2.7/site-packages/kivy/app.py", line 827, in run

I/python  (11902):    File "kivy/_event.pyx", line 714, in kivy._event.EventDispatcher.dispatch (kivy/_event.c:8146)

I/python  (11902):    File "kivy/_event.pyx", line 1225, in kivy._event.EventObservers.dispatch (kivy/_event.c:14035)

I/python  (11902):    File "kivy/_event.pyx", line 1149, in kivy._event.EventObservers._dispatch (kivy/_event.c:13564)

I/python  (11902):    File "/home/kivy/Projects/CalcGame/.buildozer/android/app/main.py", line 445, in post_build_init

I/python  (11902):  ImportError: No module named android

Решение состоит в том, чтобы добавить android к строке требований в вашем buildozer.spec, или чтобы удалить зависимость от нее из вашего приложения.

Это хорошая ошибка - это означает, что apk в противном случае был успешно собран.

Ваш buildozer android logcat Команда должна собрать ваше приложение и запустить logcat, но вы не сказали ему развернуть или запустить ваше приложение. Я думаю, что вы хотите попробовать что-то вроде buildozer android deploy run logcat, И вы должны запустить его из папки вашего проекта (где ваш buildozer.spec файл находится)

Другие вопросы по тегам