我在ubuntu 18.04上有一个buildozer master,试图构建一个简单的应用程序:
from kivy.app import App
from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
class TutorialApp(App):
def build(self):
f = FloatLayout()
s = Scatter()
l = Label(text='Hello!',
font_size=150)
f.add_widget(s)
s.add_widget(l)
return f
if __name__ == "__main__":
TutorialApp().run()
这是buildozer的输出:
# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Preparing build
# Check requirements for android
# Run 'dpkg --version'
# Cwd None b"Debian 'dpkg' package management program version 1.19.0.5 (amd64).\nThis is free software; see the GNU General Public License version 2 or\nlater for copying conditions. There is NO warranty.\n"# Search for Git (git)
# -> found at /usr/bin/git
# Search for Cython (cython)
# -> found at /usr/local/bin/cython
# Search for Java compiler (javac)
# -> found at /usr/lib/jvm/java-11-openjdk-amd64/bin/javac
# Search for Java keytool (keytool)
# -> found at /usr/lib/jvm/java-11-openjdk-amd64/bin/keytool
# Install platform
# Run 'pip install -q --user "appdirs" "colorama>=0.3.3" "sh>=1.10" "jinja2" "six"'
# Cwd None
# Apache ANT found at /home/andrew/.buildozer/android/platform/apache-ant-1.9.4
# Android SDK found at /home/andrew/.buildozer/android/platform/android-sdk-24
# Android NDK found at /home/andrew/Downloads/androidNDK/crystax-ndk-10.3.2
# Check application requirements
# Check garden requirements
# Compile platform
# Run '/usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=tryingPython --bootstrap=sdl2 --requirements=python3crystax,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build"'
# Cwd /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Will compile for the following archs: armeabi-v7a [INFO]: Found Android API target in $ANDROIDAPI [INFO]: Available Android APIs are (19, 24) [INFO]: Requested API target 19 is available, continuing. [INFO]: Found NDK dir in $ANDROIDNDK [INFO]: Got NDK version from $ANDROIDNDKVER [WARNING]: NDK version was set as r9c, but checking the NDK dir claims it is 10.3.2. [WARNING]: The build will try to continue, but it may fail and you should check that your setting is correct. [WARNING]: If the NDK dir result is correct, you don't need to manually set the NDK ver. [INFO]: Using Crystax NDK r9c [INFO]: Found virtualenv at /usr/local/bin/virtualenv [INFO]: Found the following toolchain versions: ['4.9', '5', 'clang3.6', 'clang3.7'] [INFO]: Picking the latest gcc toolchain, here 5 [INFO]: No existing dists meet the given requirements! [INFO]: No dist exists that meets your requirements, so one will be built. [INFO]: Found a single valid recipe set: ['hostpython3crystax', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'python3crystax', 'sdl2', 'six', 'pyjnius', 'kivy'] [INFO]: The selected bootstrap is sdl2_gradle [INFO]: # Creating dist with sdl2_gradle bootstrap [INFO]: Dist will have name tryingPython and recipes (python3crystax, kivy) [INFO]: Dist will also contain modules () installed from pip [INFO]: -> running cp -r /home/andrew/Documents/m...(and 247 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/build/bootstrap_builds/sdl2_gradle-python3crystax [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Recipe build order is ['hostpython3crystax', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'python3crystax', 'sdl2', 'six', 'pyjnius', 'kivy'] [INFO]: # Downloading recipes [INFO]: Downloading hostpython3crystax [INFO]: Skipping hostpython3crystax download as no URL is set [INFO]: Downloading sdl2_image [INFO]: -> running mkdir -p /home/andrew/Document...(and 76 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/packages/sdl2_image [INFO]: -> running basename www.libsdl.or...(and 52 more) [INFO]: sdl2_image download already cached, skipping [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Downloading sdl2_mixer [INFO]: -> running mkdir -p /home/andrew/Document...(and 76 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/packages/sdl2_mixer [INFO]: -> running basename www.libsdl.or...(and 52 more) [INFO]: sdl2_mixer download already cached, skipping [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Downloading sdl2_ttf [INFO]: -> running mkdir -p /home/andrew/Document...(and 74 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/packages/sdl2_ttf [INFO]: -> running basename www.libsdl.org...(and 48 more) [INFO]: sdl2_ttf download already cached, skipping [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Downloading python3crystax [INFO]: -> running mkdir -p /home/andrew/Document...(and 80 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/packages/python3crystax [INFO]: -> running basename [INFO]: -> running rm -f .mark- [INFO]: -> running touch .mark- [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Downloading sdl2 [INFO]: -> running mkdir -p /home/andrew/Document...(and 70 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/packages/sdl2 [INFO]: -> running basename www.libsdl.org...(and 26 more) [INFO]: sdl2 download already cached, skipping [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Downloading six [INFO]: -> running mkdir -p /home/andrew/Document...(and 69 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/packages/six [INFO]: -> running basename pypi.python.or...(and 40 more) [INFO]: six download already cached, skipping [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Downloading pyjnius [INFO]: -> running mkdir -p /home/andrew/Document...(and 73 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/packages/pyjnius [INFO]: -> running basename github.com/kiv...(and 28 more) [INFO]: pyjnius download already cached, skipping [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Downloading kivy [INFO]: -> running mkdir -p /home/andrew/Document...(and 70 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/packages/kivy [INFO]: -> running basename https://github.com/kiv...(and 25 more) [INFO]: kivy download already cached, skipping [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: # Building all recipes for arch armeabi-v7a [INFO]: # Unpacking recipes [INFO]: Unpacking hostpython3crystax for armeabi-v7a [INFO]: Skipping hostpython3crystax unpack as no URL is set [INFO]: Unpacking sdl2_image for armeabi-v7a [INFO]: -> running basename https://www.libsdl.or...(and 52 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/build/bootstrap_builds/sdl2_gradle-python3crystax/jni [INFO]: sdl2_image is already unpacked, skipping [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Unpacking sdl2_mixer for armeabi-v7a [INFO]: -> running basename https://www.libsdl.or...(and 52 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/build/bootstrap_builds/sdl2_gradle-python3crystax/jni [INFO]: sdl2_mixer is already unpacked, skipping [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Unpacking sdl2_ttf for armeabi-v7a [INFO]: -> running basename https://www.libsdl.org...(and 48 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/build/bootstrap_builds/sdl2_gradle-python3crystax/jni [INFO]: sdl2_ttf is already unpacked, skipping [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Unpacking python3crystax for armeabi-v7a [INFO]: -> running basename [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/build/other_builds/python3crystax-version3.5/armeabi-v7a [INFO]: python3crystax is already unpacked, skipping [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Unpacking sdl2 for armeabi-v7a [INFO]: -> running basename https://www.libsdl.org...(and 26 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/build/bootstrap_builds/sdl2_gradle-python3crystax/jni [INFO]: sdl2 is already unpacked, skipping [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Unpacking six for armeabi-v7a [INFO]: -> running basename https://pypi.python.or...(and 40 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/build/other_builds/six-python3crystax/armeabi-v7a [INFO]: six is already unpacked, skipping [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Unpacking pyjnius for armeabi-v7a [INFO]: -> running basename https://github.com/kiv...(and 28 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/build/other_builds/pyjnius-python3crystax-sdl2/armeabi-v7a [INFO]: pyjnius is already unpacked, skipping [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: Unpacking kivy for armeabi-v7a [INFO]: -> running basename https://github.com/kiv...(and 25 more) [INFO]: -> directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build/build/other_builds/kivy-python3crystax-sdl2/armeabi-v7a [INFO]: kivy is already unpacked, skipping [INFO]: <- directory context /home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain [INFO]: # Prebuilding recipes [INFO]: Prebuilding hostpython3crystax for armeabi-v7a [INFO]: hostpython3crystax has no prebuild_armeabi_v7a, skipping [INFO]: Prebuilding sdl2_image for armeabi-v7a [INFO]: sdl2_image has no prebuild_armeabi_v7a, skipping [INFO]: Applying patches for sdl2_image[armeabi-v7a] [INFO]: sdl2_image already patched, skipping [INFO]: Prebuilding sdl2_mixer for armeabi-v7a [INFO]: sdl2_mixer has no prebuild_armeabi_v7a, skipping [INFO]: Applying patches for sdl2_mixer[armeabi-v7a] [INFO]: sdl2_mixer already patched, skipping [INFO]: Prebuilding sdl2_ttf for armeabi-v7a [INFO]: sdl2_ttf has no prebuild_armeabi_v7a, skipping [INFO]: Prebuilding python3crystax for armeabi-v7a [INFO]: python3crystax has no prebuild_armeabi_v7a, skipping [INFO]: Prebuilding sdl2 for armeabi-v7a [INFO]: sdl2 has no prebuild_armeabi_v7a, skipping [INFO]: Applying patches for sdl2[armeabi-v7a] [INFO]: sdl2 already patched, skipping [INFO]: Prebuilding six for armeabi-v7a [INFO]: six has no prebuild_armeabi_v7a, skipping [INFO]: Prebuilding pyjnius for armeabi-v7a [INFO]: pyjnius has no prebuild_armeabi_v7a, skipping [INFO]: Applying patches for pyjnius[armeabi-v7a] [INFO]: pyjnius already patched, skipping [INFO]: Prebuilding kivy for armeabi-v7a [INFO]: kivy has no prebuild_armeabi_v7a, skipping [INFO]: # Building recipes [INFO]: Building hostpython3crystax for armeabi-v7a [INFO]: -> running mkdir -p /home/andrew/Document...(and 127 more) Traceback (most recent call last): File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec) File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals) File "/home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/toolchain.py", line 977, in <module>
main() File "/home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/toolchain.py", line 973, in main
ToolchainCL() File "/home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/toolchain.py", line 512, in __init__
getattr(self, args.subparser_name.replace('-', '_'))(args) File "/home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/toolchain.py", line 147, in wrapper_func
build_dist_from_args(ctx, dist, args) File "/home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/toolchain.py", line 191, in build_dist_from_args
build_recipes(build_order, python_modules, ctx) File "/home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/build.py", line 573, in build_recipes
recipe.build_arch(arch) File "/home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/python-for-android-new-toolchain/pythonforandroid/recipes/hostpython3crystax/__init__.py", line 40, in build_arch
'is not installed locally.').format(python3crystax.version)) OSError: Trying to use python3crystax==3.5 but this Python version is not installed locally. 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.1.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.1.zip 'b'\x1b[0m\r \r'# Command failed: /usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=tryingPython --bootstrap=sdl2 --requirements=python3crystax,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/andrew/Documents/myPython/androidApps/.buildozer/android/platform/build"
#
# Buildozer failed to execute the last command
# The error might be hidden in the log above this error
# Please read the full log, and search for it before
# raising an issue with buildozer itself.
# In case of a bug report, please add a full log with log_level = 2
有什么想法吗? 谢谢。
答案 0 :(得分:0)
事实证明,我已经在该ubuntu系统上安装了python3.6。在阅读日志后,buildozer正在寻找python 3.5。我安装了3.5并成功通过了测试。在gradle无法使用我已经安装的openjdk版本(10.0.2)造成更多麻烦之后,我将其卸载了,并且现在一切正常。