Python版本:3.6.3
Kivy Version:v1.10.1.dev0,git-Unknown,20180329
pip版本:v9.0.3
PC:MacOS Sierra v10.12.6
CrystaX NDK:crystax-ndk-10.3.2
当运行" buildozer android debug" 来构建android apk时,我最终得到错误" python3crystax配方只能在使用CrystaX时构建NDK。离开"
日志如下。
....
[INFO]: python3crystax has no prebuild_armeabi_v7a, skipping
[ERROR]: The python3crystax recipe can only be built when using the CrystaX NDK. Exiting.
b'\x1b[0m\r working: SDL2_image-2.0.1.tar.gz 'b'\x1b[0m\r \r'b'\x1b[0m\r working: SDL2_mixer-2.0.1.tar.gz 'b'\x1b[0m\r \r'b'\x1b[0m\r working: SDL2_ttf-2.0.14.tar.gz 'b'\x1b[0m\r \r'b'\x1b[0m\r working: SDL2-2.0.4.tar.gz 'b'\x1b[0m\r \r'b'\x1b[0m\r working: six-1.9.0.tar.gz 'b'\x1b[0m\r \r'b'\x1b[0m\r working: master.zip 'b'\x1b[0m\r \r'b'\x1b[0m\r working: 1.10.0.zip 'b'\x1b[0m\r \r'b'\x1b[0m\r working: SDL2_image-2.0.1.tar.gz 'b'\x1b[0m\r \r'b'\x1b[0m\r working: SDL2_mixer-2.0.1.tar.gz 'b'\x1b[0m\r \r'b'\x1b[0m\r working: SDL2_ttf-2.0.14.tar.gz 'b'\x1b[0m\r \r'b'\x1b[0m\r working: SDL2-2.0.4.tar.gz 'b'\x1b[0m\r \r'b'\x1b[0m\r working: six-1.9.0.tar.gz 'b'\x1b[0m\r \r'b'\x1b[0m\r working: master.zip 'b'\x1b[0m\r \r'b'\x1b[0m\r working: 1.10.0.zip 'b'\x1b[0m\r \r'# Command failed: /Library/Frameworks/Python.framework/Versions/3.6/bin/python3 -m pythonforandroid.toolchain create --dist_name=unitconverter --bootstrap=sdl2 --requirements=python3crystax,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir=/Users/Sem/Dropbox/unit_converter/.buildozer/android/platform/build
究竟是什么问题?
我怀疑CrystaX NDK是问题所在,因为我不知道应该从https://www.crystax.net/en/download下载哪个版本的CrystaX NDK。我最终使用" crystax-ndk-10.3.2-linux-x86_64.tar.xz"
请指教。谢谢。
答案 0 :(得分:1)
确保buildozer.spec文件中包含以下行:
# (str) Android NDK version to use
android.ndk = 10.3.2
...
# (str) Android NDK directory
android.ndk_path = /opt/crystax-ndk-10.3.2
使用JDK8或jdk1.8.0_162
Welcome to Buildozer’s documentation!
目前,Buildozer支持包装:
Android:通过Python for Android。您必须拥有Linux或OSX计算机 能够为Android编译。
Build options » Python3 » Crystax NDK
使用Python3构建时,请使用 CrystaX NDK 10.3.0或更高版本 。
警告
Python3支持是实验性的,其中一些细节可能会发生变化 因为它得到了改善和完全稳定。