编译 Android 时出现 Buildozer 错误:列表索引超出范围 _install_p4a

Buildozer error when compiling Android: list index out of range inside _install_p4a

我目前正在尝试编译一个简单的 Kivy 应用程序以便在 Android 上使用。它在我的 windows 和 linux 环境中运行,没有错误或警告。当我使用 buildozer 打包它时,我几乎立即收到错误消息。我确实搜索了这个错误,虽然标题与其他问题非常相似,但错误不是。 buildozer 的输出:

(mykivyinstall) oli@Bud: buildozer android debug
# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Preparing build
# Check requirements for android
# Install platform
Traceback (most recent call last):
  File "/home/oli/mykivyinstall/bin/buildozer", line 11, in <module>
    sys.exit(main())
  File "/home/oli/mykivyinstall/lib/python3.6/site-packages/buildozer/scripts/client.py", line 13, in main
    Buildozer().run_command(sys.argv[1:])
  File "/home/oli/mykivyinstall/lib/python3.6/site-packages/buildozer/__init__.py", line 1059, in run_command
    self.target.run_commands(args)
  File "/home/oli/mykivyinstall/lib/python3.6/site-packages/buildozer/target.py", line 92, in run_commands
    func(args)
  File "/home/oli/mykivyinstall/lib/python3.6/site-packages/buildozer/target.py", line 102, in cmd_debug
    self.buildozer.prepare_for_build()
  File "/home/oli/mykivyinstall/lib/python3.6/site-packages/buildozer/__init__.py", line 176, in prepare_for_build
    self.target.install_platform()
  File "/home/oli/mykivyinstall/lib/python3.6/site-packages/buildozer/targets/android.py", line 467, in install_platform
    self._install_p4a()
  File "/home/oli/mykivyinstall/lib/python3.6/site-packages/buildozer/targets/android.py", line 524, in _install_p4a
    deps = re.findall("^install_reqs = (\[[^\]]*\])", setup, re.DOTALL | re.MULTILINE)[0]
IndexError: list index out of range

我的环境:

buildozer version=0.35
cython version=0.25.2
python version=3.6.6
OS is Ubuntu=18.04

我是否混合和匹配了错误版本的东西?

这似乎是最新版本 buildozer 中的一个错误。解决方案是编辑文件“../python3.6/site-packages/buildozer/targets/android.py”并替换行

deps = re.findall("^install_reqs = (\[[^\]]*\])", setup, re.DOTALL | re.MULTILINE)[0]

deps = re.findall("install_reqs = (\[[^\]]*\])", setup, re.DOTALL | re.MULTILINE)[0]

然后运行buildozer -v android debug