首页 > 解决方案 > Buildozer 未检测到手动提取的 Android-NDK

问题描述

由于 buildozer 尝试从死链接下载,我手动下载了 r19c NDK,我将其解压缩到 .buildozer/android/platform 中,我在 spec 文件中设置路径如下:

# (str) Android NDK directory (if empty, it will be automatically downloaded.)
#android.ndk_path = /home/rain/.buildozer/android/platform/android-ndk-r19c

然而,当我尝试构建时,我得到了这个错误:

 Check configuration tokens
 # Ensure build layout
 # Check configuration tokens
 # Preparing build
 # Check requirements for android
 # Install platform
 # Apache ANT found at /home/rain/.buildozer/android/platform/apache-ant-1.9.4
 # Android SDK found at /home/rain/.buildozer/android/platform/android-sdk-20
 # Android NDK is missing, downloading
 Traceback (most recent call last):
   File "/home/rain/.local/bin/buildozer", line 8, in <module>
     sys.exit(main())
   File "/home/rain/.local/lib/python3.8/site-packages/buildozer/scripts/client.py", line           13, in main
     Buildozer().run_command(sys.argv[1:])
   File "/home/rain/.local/lib/python3.8/site-packages/buildozer/__init__.py", line 1059, in           run_command
          self.target.run_commands(args)
   File "/home/rain/.local/lib/python3.8/site-packages/buildozer/target.py", line 92, in           run_commands
     func(args)
   File "/home/rain/.local/lib/python3.8/site-packages/buildozer/target.py", line 102, in      cmd_debug
     self.buildozer.prepare_for_build()
   File "/home/rain/.local/lib/python3.8/site-packages/buildozer/__init__.py", line 176, in      prepare_for_build
     self.target.install_platform()
   File "/home/rain/.local/lib/python3.8/site-packages/buildozer/targets/android.py", line      521, in install_platform
     self._install_android_ndk()
   File "/home/rain/.local/lib/python3.8/site-packages/buildozer/targets/android.py", line      331, in _install_android_ndk
     self.buildozer.download(url,
   File "/home/rain/.local/lib/python3.8/site-packages/buildozer/__init__.py", line 687, in      download
     urlretrieve(url, filename, report_hook)
   File "/usr/lib/python3.8/urllib/request.py", line 1827, in retrieve
     block = fp.read(bs)
   File "/usr/lib/python3.8/tempfile.py", line 613, in func_wrapper
     return func(*args, **kwargs)
 ValueError: read of closed file

我可能做错了什么?

标签: pythonlinuxubuntukivybuildozer

解决方案


我相信您也需要取消注释该行。

# (str) Android NDK directory (if empty, it will be automatically downloaded.)
android.ndk_path = /home/rain/.buildozer/android/platform/android-ndk-r19c
Ye

推荐阅读