【问题标题】:buildozer fail to install android ndkbuildozer无法安装android ndk
【发布时间】:2021-08-06 16:09:35
【问题描述】:

问候

我是 kivy 的新手,我想使用 buildozer 为 android 编译一个 kivy 应用程序,但 buildozer 无法安装 android ndk。 buildozer 使用的链接已过时,在使用 raspbian 最新版本时不再可用

# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Read available permissions from api-versions.xml
# Preparing build
# Check requirements for android
# Run 'dpkg --version'
# Cwd None
Debian 'dpkg' package management program version 1.19.7 (armhf).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.
# Search for Git (git)
#  -> found at /usr/bin/git
# Search for Cython (cython)
#  -> found at /home/pi/.local/bin/cython
# Search for Java compiler (javac)
#  -> found at /usr/lib/jvm/java-11-openjdk-armhf/bin/javac
# Search for Java keytool (keytool)
#  -> found at /usr/lib/jvm/java-11-openjdk-armhf/bin/keytool
# Install platform
# Run 'git config --get remote.origin.url'
# Cwd /home/pi/Downloads/New/.buildozer/android/platform/python-for-android
https://github.com/kivy/python-for-android.git
# Run 'git branch -vv'
# Cwd /home/pi/Downloads/New/.buildozer/android/platform/python-for-android
* master 5a94d074 [origin/master] Merge pull request #2244 from Chronolife-team/native_services_upstream
# Run '/usr/bin/python3 -m pip install -q --user \'appdirs\' \'colorama>=0.3.3\' \'jinja2\' \'six\' \'enum34; python_version<"3.4"\' \'sh>=1.10; sys_platform!="nt"\' \'pep517<0.7.0"\' \'toml\''
# Cwd None
# Apache ANT found at /home/pi/.buildozer/android/platform/apache-ant-1.9.4
# Android SDK found at /home/pi/.buildozer/android/platform/android-sdk
# Recommended android's NDK version by p4a is: 19c
# Android NDK is missing, downloading
# Downloading https://dl.google.com/android/repository/android-ndk-r19c-linux-x86.zip
Traceback (most recent call last):
  File "/home/pi/.local/bin/buildozer", line 10, in <module>
    sys.exit(main())
  File "/home/pi/.local/lib/python3.7/site-packages/buildozer/scripts/client.py", line 13, in main
    Buildozer().run_command(sys.argv[1:])
  File "/home/pi/.local/lib/python3.7/site-packages/buildozer/__init__.py", line 1047, in run_command
    self.target.run_commands(args)
  File "/home/pi/.local/lib/python3.7/site-packages/buildozer/target.py", line 92, in run_commands
    func(args)
  File "/home/pi/.local/lib/python3.7/site-packages/buildozer/target.py", line 102, in cmd_debug
    self.buildozer.prepare_for_build()
  File "/home/pi/.local/lib/python3.7/site-packages/buildozer/__init__.py", line 169, in prepare_for_build
    self.target.install_platform()
  File "/home/pi/.local/lib/python3.7/site-packages/buildozer/targets/android.py", line 665, in install_platform
    self._install_android_ndk()
  File "/home/pi/.local/lib/python3.7/site-packages/buildozer/targets/android.py", line 457, in _install_android_ndk
    cwd=self.buildozer.global_platform_dir)
  File "/home/pi/.local/lib/python3.7/site-packages/buildozer/__init__.py", line 677, in download
    urlretrieve(url, filename, report_hook)
  File "/usr/lib/python3.7/urllib/request.py", line 1824, in retrieve
    block = fp.read(bs)
  File "/usr/lib/python3.7/tempfile.py", line 620, in func_wrapper
    return func(*args, **kwargs)
ValueError: read of closed file

这是我从 termianl 得到的错误

【问题讨论】:

  • 这看起来像是一个 buildozer 错误,但我认为您会遇到更深层次的问题,即官方 NDK 都不会在 rpi 上运行。

标签: android android-ndk kivy kivy-language buildozer


【解决方案1】:

据我所知,Raspberry PI HARDWARE 不支持它(如果你想你可以尝试使用 RPI),但我不确定 raspbian ,无论如何 buildozer 中的链接是旧的所以你必须在location 自己下载 NDK。然后将 zip 解压缩到以下位置:/home/NAME/.buildozer/android/platform。 那么你应该可以在运行命令时进行操作了。

【讨论】:

    猜你喜欢
    • 2019-06-11
    • 2017-06-25
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    • 2015-01-14
    相关资源
    最近更新 更多