сборка hostpython3 для armeabi-v7a - RuntimeError: снять разблокированную блокировку - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь добиться прогресса по моей другой проблеме здесь -> Kivy Launcher - AttributeError: У объекта 'MyInputs' нет атрибута 'get_focus_next'

Теперь я намеренbuild Kivy Launcher (приветствуются альтернативные предложения по созданию прототипов приложений на python для Android, но, тем не менее, я все же хотел бы завершить это).Однако я столкнулся с новым препятствием.Python-for-android терпит неудачу в процессе сборки, в частности, он терпит неудачу, как показано ниже.

Команда сборки:

p4a apk --requirements=python2,kivy --permission WRITE_EXTERNAL_STORAGE --name="R Kivy Launcher" --package=com.kivy.rkivylauncher --version=0.0.1 --android_api 28 --bootstrap=pygame --launcher --minsdk 13

Ошибка (ниже)система и конфигурация, я думаю, это может быть важно):

    [INFO]:    Building hostpython3 for armeabi-v7a
[INFO]:    -> directory context /home/Me/.local/share/python-for-android/build/other_builds/hostpython3/desktop/hostpython3
[INFO]:    -> directory context /home/Me/.local/share/python-for-android/build/other_builds/hostpython3/desktop/hostpython3/native-build
[INFO]:    -> running configure
           working: checking for dup3... yes                                                                                                                                                                             raceback (most recent call last):
  File "/usr/lib/python3.7/queue.py", line 179, in get
    self.not_empty.wait(remaining)
  File "/usr/lib/python3.7/threading.py", line 288, in wait
    raise RuntimeError("cannot wait on un-acquired lock")
RuntimeError: cannot wait on un-acquired lock

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/p4a", line 10, in <module>
    sys.exit(main())
  File "/usr/lib/python3.7/site-packages/pythonforandroid/toolchain.py", line 1075, in main
    ToolchainCL()
  File "/usr/lib/python3.7/site-packages/pythonforandroid/toolchain.py", line 577, in __init__
    getattr(self, args.subparser_name.replace('-', '_'))(args)
  File "/usr/lib/python3.7/site-packages/pythonforandroid/toolchain.py", line 151, in wrapper_func
    build_dist_from_args(ctx, dist, args)
  File "/usr/lib/python3.7/site-packages/pythonforandroid/toolchain.py", line 200, in build_dist_from_args
    build_recipes(build_order, python_modules, ctx)
  File "/usr/lib/python3.7/site-packages/pythonforandroid/build.py", line 562, in build_recipes
    recipe.build_arch(arch)
  File "/usr/lib/python3.7/site-packages/pythonforandroid/python.py", line 417, in build_arch
    sh.Command(join(recipe_build_dir, 'configure')))
  File "/usr/lib/python3.7/site-packages/pythonforandroid/logger.py", line 178, in shprint
    for line in output:
  File "/usr/lib/python3.7/site-packages/sh.py", line 857, in next
    chunk = self.process._pipe_queue.get(True, 0.001)
  File "/usr/lib/python3.7/queue.py", line 182, in get
    return item
  File "/usr/lib/python3.7/threading.py", line 244, in __exit__
    return self._lock.__exit__(*args)
RuntimeError: release unlocked lock

Система: Cygwin 3.0.3

Конфигурация: - Python 3.7 - python-for-android 0.7.1 - buildozer 0.39 -sdk-tools-linux-4333796.zip - android-ndk-r19b-linux-x86_64.zip (есть ли конкретный вариант AMD? Пока Google говорит, что нет ...)

Рад поделиться,просто не совсем уверен, что еще важно / потенциально связано.У меня есть некоторые совершенно дикие подозрения (несовместимость Cygwin и потоков / блокировок?), Но это все, что я получил.

Помощь?

1 Ответ

0 голосов
/ 16 апреля 2019

Отвечая на мой собственный вопрос (вроде) выше: хотя теперь я понимаю, что существует множество установленных требований, которые позволяют разрешить прямое использование p4a, в итоге я понял следующее в общем:

  1. Моя выделенная Linux-система с «Buildozer Android» оказалась (в конечном итоге) самой быстрой / простой в управлении опцией для меня.Он просто обрабатывает всю правильную загрузку и выравнивание компонентов, необходимых для правильной сборки.Новая версия Kivy Launcher для Python3 устанавливается и начинается со списка приложений, доступных точно так же, как в App Store, но, увы, все равно происходит сбой (и я все еще пытаюсь выяснить, почему, но я ближе ...)

На пути к этой реализации я обнаружил:

  1. У Cygwin есть некоторые глубоко укоренившиеся проблемы, создающие apk - я все еще не уверен,Проблемы, с которыми я столкнулся, были связаны непосредственно со средой Cygwin, моей установкой Cygwin, моим тестовым приложением и устаревшими компонентами ListView, которые у меня были в нем, моей защитой от компьютерного вируса или сильной и неуправляемой комбинацией вышеперечисленного.

  2. Я также некоторое время пытался заставить MSYS2 и Mingw-w64 64-битную версию для создания kivy и для Android, но смешивание путей к Windows и Unix, настройка среды и еще сотня других вещей оказались слишком большими.отвлечение от моей настоящей цели: создание приложения для работы на многих платформах -> Mingw может по-прежнему играть свою роль в будущемно пока он на книжной полке.

  3. Я также попробовал Termux.И затмение.И изучил способы заставить новую Android Studio работать с Python.Все может быть возможным (или ни одного), и я действительно вижу ценность идеи Eclipse и Android Studio для создания визуальных интерфейсов приложений, так что они могут найти будущее применение по мере развития этого проекта.

В целом, я хочу поблагодарить многие сотни людей по всему Интернету - у меня было одновременно открыто почти 80 вкладок (плюс сохранены закладки с несколькими вкладками!), Чтобы добраться до этой точки: Со всей информациейдоступно на Buildozer и почему он так хорошо работает на Linux-машине, я закончил там, где, наверное, следовало бы начать.Мой прототип приложения Kivy работает на телефоне Android, и (я надеюсь, скоро) Kivy Launcher также будет.Кажется, что новый перезапущенный Kivy Launcher дает сбой таким образом, что я полагаю, что амортизация «ListView» является причиной его сбоя (он собирает, начинает загружать включенные примеры приложений, но затем происходит сбой, и журналы не так полезны, как я »Буду надеяться.) Если я смогу подтвердить и реорганизовать это, чтобы исправить это, у меня будет кое-что реальное, чтобы внести свой вклад сам.

Оставайтесь с нами на первую ссылку в моем оригинальном посте выше, если вы больше заботитесь о новомKivy Launcher, чем вы заботитесь об инструментах для создания apk - я надеюсь добавить еще одну запись, если я действительно заставлю Kivy Launcher снова работать со всеми новыми функциональными возможностями kivy и python 3. Теперь мне просто нужно разобраться с RecycleView ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...