【问题标题】:Buildozer displays error during deployingBuildozer 在部署期间显示错误
【发布时间】:2021-05-21 17:58:28
【问题描述】:

我正在尝试使用 Buildozer 将我的 Kivy 应用程序部署到 Android 中,但它会引发错误。

Traceback (most recent call last):
  File "/usr/local/bin/buildozer", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/buildozer/scripts/client.py", line 13, in main
    Buildozer().run_command(sys.argv[1:])
  File "/usr/local/lib/python3.5/dist-packages/buildozer/__init__.py", line 1041, in run_command
    targets = [x[0] for x in self.targets()]
  File "/usr/local/lib/python3.5/dist-packages/buildozer/__init__.py", line 1041, in <listcomp>
    targets = [x[0] for x in self.targets()]
  File "/usr/local/lib/python3.5/dist-packages/buildozer/__init__.py", line 933, in targets
    fromlist=['buildozer'])
  File "/usr/local/lib/python3.5/dist-packages/buildozer/targets/android.py", line 165
    sdk_root = f"--sdk_root={android_sdk_dir}"
                                             ^
SyntaxError: invalid syntax

【问题讨论】:

    标签: python python-3.x kivy buildozer


    【解决方案1】:

    直到 Python 3.6 才引入 f-strings。该软件包不应该允许自己安装在您的 3.5 版本中。如果您愿意编辑该文件,则可以解决此问题,并将行更改为

    sdk_root = "--sdk_root=" + android_sdk_dir
    

    【讨论】:

    • 谢谢,您的解决方案有效。我还有一个错误。上面写着“/bin/sh: 1: {sdkmanager_path}: not found”你打算怎么解决?
    • 我建议你调试一下。该代码中还有 5 或 6 个其他 f 字符串,其中一个带有 {sdkmanager_path}。一切都必须重写。或者,您可以升级您的 Python。 3.5 已经很老了。
    • 我已经全部替换了。但问题依然存在。
    • 如果您全部更换了它们,问题将不会仍然存在。也许您应该发布新的回溯。
    猜你喜欢
    • 2020-09-28
    • 2020-07-14
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    • 2016-07-03
    • 2017-12-09
    相关资源
    最近更新 更多