首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为armeabi-v7a构建锁-- RuntimeError:释放解锁

为armeabi-v7a构建锁-- RuntimeError:释放解锁
EN

Stack Overflow用户
提问于 2019-03-14 11:39:13
回答 1查看 349关注 0票数 1

我正在尝试在我的另一个问题上取得一些进展--> Kivy Launcher - AttributeError: ‘MyInputs’ object has no attribute ‘get_focus_next’

我现在的意图是构建Kivy Launcher (欢迎关于android python应用原型的替代建议,但无论如何我仍然想完成这项工作)。然而,我遇到了一个新的障碍。Python-for-android在构建过程中失败了很长一段时间,特别是它失败了,如下所示。

build命令:

代码语言:javascript
复制
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

错误信息(下面是我认为可能重要的系统和配置信息):

代码语言:javascript
复制
    [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特定的变体?到目前为止,谷歌说没有...)

乐于分享更多,只是不太确定还有什么是重要的/潜在的相关。我有一些完全疯狂的怀疑(Cygwin和线程/锁不兼容?),但这就是我得到的全部。

帮助?

EN

回答 1

Stack Overflow用户

发布于 2019-04-16 12:20:29

回答上面我自己的问题(某种程度上):虽然我现在了解到有很多设置要求可以允许直接使用p4a,但最终我意识到了以下几点:

  1. 我的专用Linux机器和'Buildozer Android‘最终成为了我最快/最容易管理的选项。它只是处理所有需要正确构建的组件的正确下载和对齐。新的python3版本的Kivy Launcher会安装,并以应用程序商店中的应用程序列表开始,但遗憾的是,它仍然崩溃(我仍在努力找出原因,但我更接近于...)

在实现这一点的过程中,我发现:

  1. Cygwin有一些创建apk的深层次问题-我仍然不确定我遇到的问题是不是直接由于Cygwin环境,我的Cygwin设置,我的测试应用程序和我在其中折旧的ListView东西,我的计算机病毒防护或以上强大和难以管理的组合。
  2. 我也挣扎了一段时间,试图让MSYS2和Mingw w64位在本地为Android构建kivy东西,但是整个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和python3功能,我希望添加更多的条目。现在我只需要弄清楚RecycleView..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55154612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档