本文主要是介绍使用buildozer 打包 apk时遇到的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.我是用的大佬做的虚拟机: https://github.com/nkiiiiid/kivy-apk
下载安装好以后,导入我的脚本,嗯~~我引入了一个库 psutil
,电脑上运行没问题。但是使用
buildozer android debug
打包时遇到了问题
因为引入了库:
buildozer.spec里内容我添加了:
# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
requirements = python3,kivy,psutil# (str) Custom source folders for requirements
# Sets custom source for any requirements with recipes
# requirements.source.kivy = ../../kivy# (list) Garden requirements
# garden_requirements = psutil
但是无法打包,报错:
kivydev@kivydev-VirtualBox:/media/sf_share$ buildozer android debug
# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Preparing build
# Check requirements for android
# Run 'dpkg --version'
# Cwd None
Debian 'dpkg' package management program version 1.18.4 (amd64).
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/kivydev/.local/bin/cython
# Search for Java compiler (javac)
# -> found at /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
# Search for Java keytool (keytool)
# -> found at /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/keytool
# Install platform
# Run 'git config --get remote.origin.url'
# Cwd /home/kivydev/test/.buildozer/android/platform/python-for-android
https://github.com/kivy/python-for-android.git
# Run 'git branch -vv'
# Cwd /home/kivydev/test/.buildozer/android/platform/python-for-android
* master 8cf66cc [origin/master] Merge pull request #2111 from kivy/release-2020.03.30
# Run '/usr/local/python37/bin/python3.7 -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"\' \'pytoml\' \'virtualenv<20\''
# Cwd None
WARNING: You are using pip version 20.1; however, version 24.0 is available.
You should consider upgrading via the '/usr/local/python37/bin/python3.7 -m pip install --upgrade pip' command.
# Apache ANT found at /home/kivydev/andr/apache-ant-1.9.4
# Android SDK found at /home/kivydev/andr/android-sdk-linux
# Android NDK found at /home/kivydev/andr/android-ndk-r19c
# Recommended android's NDK version by p4a is: 19b
# Check application requirements
# Check garden requirements
# Compile platform
# Run '/usr/local/python37/bin/python3.7 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3,kivy,psutil --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21'
# Cwd /home/kivydev/test/.buildozer/android/platform/python-for-android
/home/kivydev/test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py:85: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative usesimport imp
[INFO]: Will compile for the following archs: armeabi-v7a
[INFO]: Found Android API target in $ANDROIDAPI: 27
[INFO]: Available Android APIs are (19, 23, 27)
[INFO]: Requested API target 27 is available, continuing.
[INFO]: Found NDK dir in $ANDROIDNDK: /home/kivydev/andr/android-ndk-r19c
[INFO]: Found NDK version 19c
[INFO]: Getting NDK API version (i.e. minimum supported API) from user argument
[INFO]: Found virtualenv at /home/kivydev/.local/bin/virtualenv
[INFO]: Found the following toolchain versions: ['4.9']
[INFO]: Picking the latest gcc toolchain, here 4.9
[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: ['hostpython3', 'libffi', 'openssl', 'psutil', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'sqlite3', 'python3', 'sdl2', 'setuptools', 'six', 'pyjnius', 'android', 'kivy']
[INFO]: The selected bootstrap is sdl2
[INFO]: # Creating dist with sdl2 bootstrap
[INFO]: Dist will have name myapp and requirements (python3, kivy, psutil)
[INFO]: Dist contains the following requirements as recipes: ['hostpython3', 'libffi', 'openssl', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'sqlite3', 'python3', 'sdl2', 'setuptools', 'six', 'pyjnius', 'android', 'kivy']
[INFO]: Dist will also contain modules (certifi, psutil) installed from pip
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2-python3
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Recipe build order is ['hostpython3', 'libffi', 'openssl', 'sdl2_image', 'sdl2_mixer', 'sdl2_ttf', 'sqlite3', 'python3', 'sdl2', 'setuptools', 'six', 'pyjnius', 'android', 'kivy']
[INFO]: The requirements (certifi, psutil) were not found as recipes, they will be installed with pip.
[INFO]: # Downloading recipes
[INFO]: Downloading hostpython3
[INFO]: -> running mkdir -p /home/kivydev/test/.b...(and 64 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/packages/hostpython3
[INFO]: -> running basename https://www.python.org...(and 34 more)
[INFO]: hostpython3 download already cached, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Downloading libffi
[INFO]: -> running mkdir -p /home/kivydev/test/.b...(and 59 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/packages/libffi
[INFO]: -> running basename https://github.com/lib...(and 33 more)
[INFO]: libffi download already cached, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Downloading openssl
[INFO]: -> running mkdir -p /home/kivydev/test/.b...(and 60 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/packages/openssl
[INFO]: -> running basename https://www.openssl.or...(and 30 more)
[INFO]: openssl download already cached, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Downloading sdl2_image
[INFO]: -> running mkdir -p /home/kivydev/test/.b...(and 63 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/packages/sdl2_image
[INFO]: -> running basename https://www.libsdl.or...(and 52 more)
[INFO]: sdl2_image download already cached, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Downloading sdl2_mixer
[INFO]: -> running mkdir -p /home/kivydev/test/.b...(and 63 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/packages/sdl2_mixer
[INFO]: -> running basename https://www.libsdl.or...(and 52 more)
[INFO]: sdl2_mixer download already cached, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Downloading sdl2_ttf
[INFO]: -> running mkdir -p /home/kivydev/test/.b...(and 61 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/packages/sdl2_ttf
[INFO]: -> running basename https://www.libsdl.org...(and 48 more)
[INFO]: sdl2_ttf download already cached, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Downloading sqlite3
[INFO]: -> running mkdir -p /home/kivydev/test/.b...(and 60 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/packages/sqlite3
[INFO]: -> running basename https://www.sqlite.org...(and 37 more)
[INFO]: sqlite3 download already cached, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Downloading python3
[INFO]: -> running mkdir -p /home/kivydev/test/.b...(and 60 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/packages/python3
[INFO]: -> running basename https://www.python.org...(and 34 more)
[INFO]: python3 download already cached, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Downloading sdl2
[INFO]: -> running mkdir -p /home/kivydev/test/.b...(and 57 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/packages/sdl2
[INFO]: -> running basename https://www.libsdl.org...(and 26 more)
[INFO]: sdl2 download already cached, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Downloading setuptools
[INFO]: -> running mkdir -p /home/kivydev/test/.b...(and 63 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/packages/setuptools
[INFO]: -> running basename https://pypi.python.o...(and 53 more)
[INFO]: setuptools download already cached, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Downloading six
[INFO]: -> running mkdir -p /home/kivydev/test/.b...(and 56 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/packages/six
[INFO]: -> running basename https://pypi.python.or...(and 41 more)
[INFO]: six download already cached, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Downloading pyjnius
[INFO]: -> running mkdir -p /home/kivydev/test/.b...(and 60 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/packages/pyjnius
[INFO]: -> running basename https://github.com/kiv...(and 27 more)
[INFO]: pyjnius download already cached, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Downloading android
[INFO]: Skipping android download as no URL is set
[INFO]: Downloading kivy
[INFO]: -> running mkdir -p /home/kivydev/test/.b...(and 57 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/packages/kivy
[INFO]: -> running basename https://github.com/kiv...(and 25 more)
[INFO]: kivy download already cached, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: # Building all recipes for arch armeabi-v7a
[INFO]: # Unpacking recipes
[INFO]: Unpacking hostpython3 for armeabi-v7a
[INFO]: -> running basename https://www.python.org...(and 34 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/hostpython3/desktop
[INFO]: hostpython3 is already unpacked, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Unpacking libffi for armeabi-v7a
[INFO]: -> running basename https://github.com/lib...(and 33 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/libffi/armeabi-v7a__ndk_target_21
[INFO]: libffi is already unpacked, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Unpacking openssl for armeabi-v7a
[INFO]: -> running basename https://www.openssl.or...(and 30 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/openssl/armeabi-v7a__ndk_target_21
[INFO]: openssl is already unpacked, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Unpacking sdl2_image for armeabi-v7a
[INFO]: -> running basename https://www.libsdl.or...(and 52 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2-python3/jni
[INFO]: sdl2_image is already unpacked, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Unpacking sdl2_mixer for armeabi-v7a
[INFO]: -> running basename https://www.libsdl.or...(and 52 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2-python3/jni
[INFO]: sdl2_mixer is already unpacked, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Unpacking sdl2_ttf for armeabi-v7a
[INFO]: -> running basename https://www.libsdl.org...(and 48 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2-python3/jni
[INFO]: sdl2_ttf is already unpacked, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Unpacking sqlite3 for armeabi-v7a
[INFO]: -> running basename https://www.sqlite.org...(and 37 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/sqlite3/armeabi-v7a__ndk_target_21
[INFO]: sqlite3 is already unpacked, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Unpacking python3 for armeabi-v7a
[INFO]: -> running basename https://www.python.org...(and 34 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/python3/armeabi-v7a__ndk_target_21
[INFO]: python3 is already unpacked, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Unpacking sdl2 for armeabi-v7a
[INFO]: -> running basename https://www.libsdl.org...(and 26 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2-python3/jni
[INFO]: sdl2 is already unpacked, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Unpacking setuptools for armeabi-v7a
[INFO]: -> running basename https://pypi.python.o...(and 53 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/setuptools-python3/armeabi-v7a__ndk_target_21
[INFO]: setuptools is already unpacked, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Unpacking six for armeabi-v7a
[INFO]: -> running basename https://pypi.python.or...(and 41 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/six-python3/armeabi-v7a__ndk_target_21
[INFO]: six is already unpacked, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Unpacking pyjnius for armeabi-v7a
[INFO]: -> running basename https://github.com/kiv...(and 27 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/pyjnius-python3-sdl2/armeabi-v7a__ndk_target_21
[INFO]: pyjnius is already unpacked, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: -> running rm -rf /home/kivydev/test/.bui...(and 116 more)
[INFO]: -> running cp -a /home/kivydev/test/.buil...(and 218 more)
[INFO]: Unpacking kivy for armeabi-v7a
[INFO]: -> running basename https://github.com/kiv...(and 25 more)
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/kivy-python3/armeabi-v7a__ndk_target_21
[INFO]: kivy is already unpacked, skipping
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: # Prebuilding recipes
[INFO]: Prebuilding hostpython3 for armeabi-v7a
[INFO]: hostpython3 has no prebuild_armeabi_v7a, skipping
[INFO]: Prebuilding libffi for armeabi-v7a
[INFO]: libffi has no prebuild_armeabi_v7a, skipping
[INFO]: Applying patches for libffi[armeabi-v7a]
[INFO]: libffi already patched, skipping
[INFO]: Prebuilding openssl for armeabi-v7a
[INFO]: openssl 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 sqlite3 for armeabi-v7a
[INFO]: sqlite3 has no prebuild_armeabi_v7a, skipping
[INFO]: Prebuilding python3 for armeabi-v7a
[INFO]: python3 has no prebuild_armeabi_v7a, skipping
[INFO]: Applying patches for python3[armeabi-v7a]
[INFO]: python3 already patched, skipping
[INFO]: Prebuilding sdl2 for armeabi-v7a
[INFO]: sdl2 has no prebuild_armeabi_v7a, skipping
[INFO]: Prebuilding setuptools for armeabi-v7a
[INFO]: setuptools has no prebuild_armeabi_v7a, 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 android for armeabi-v7a
[INFO]: android has no prebuild_armeabi_v7a, skipping
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/android-python3-sdl2/armeabi-v7a__ndk_target_21/android
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Prebuilding kivy for armeabi-v7a
[INFO]: kivy has no prebuild_armeabi_v7a, skipping
[INFO]: # Building recipes
[INFO]: Building hostpython3 for armeabi-v7a
[INFO]: hostpython3 said it is already built, skipping
[INFO]: Building libffi for armeabi-v7a
[INFO]: libffi said it is already built, skipping
[INFO]: Building openssl for armeabi-v7a
[INFO]: openssl said it is already built, skipping
[INFO]: Building sdl2_image for armeabi-v7a
[INFO]: Building sdl2_mixer for armeabi-v7a
[INFO]: Building sdl2_ttf for armeabi-v7a
[INFO]: Building sqlite3 for armeabi-v7a
[INFO]: sqlite3 said it is already built, skipping
[INFO]: Building python3 for armeabi-v7a
[INFO]: python3 said it is already built, skipping
[INFO]: Building sdl2 for armeabi-v7a
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/bootstrap_builds/sdl2-python3/jni
[INFO]: -> running ndk-build V=1
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Building setuptools for armeabi-v7a
[INFO]: Python package already exists in site-packages
[INFO]: setuptools said it is already built, skipping
[INFO]: Building six for armeabi-v7a
[INFO]: Python package already exists in site-packages
[INFO]: six said it is already built, skipping
[INFO]: Building pyjnius for armeabi-v7a
[INFO]: Python package already exists in site-packages
[INFO]: pyjnius said it is already built, skipping
[INFO]: Building android for armeabi-v7a
[INFO]: Python package already exists in site-packages
[INFO]: android said it is already built, skipping
[INFO]: Building kivy for armeabi-v7a
[INFO]: Python package already exists in site-packages
[INFO]: kivy said it is already built, skipping
[INFO]: # Biglinking object files
[WARNING]: Context's python recipe found, skipping biglink (will this work?)
[INFO]: # Postbuilding recipes
[INFO]: Postbuilding hostpython3 for armeabi-v7a
[INFO]: Postbuilding libffi for armeabi-v7a
[INFO]: Postbuilding openssl for armeabi-v7a
[INFO]: Postbuilding sdl2_image for armeabi-v7a
[INFO]: Postbuilding sdl2_mixer for armeabi-v7a
[INFO]: Postbuilding sdl2_ttf for armeabi-v7a
[INFO]: Postbuilding sqlite3 for armeabi-v7a
[INFO]: Postbuilding python3 for armeabi-v7a
[INFO]: Postbuilding sdl2 for armeabi-v7a
[INFO]: Postbuilding setuptools for armeabi-v7a
[INFO]: Postbuilding six for armeabi-v7a
[INFO]: Postbuilding pyjnius for armeabi-v7a
[INFO]: Copying pyjnius java class to classes build dir
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/pyjnius-python3-sdl2/armeabi-v7a__ndk_target_21/pyjnius
[INFO]: -> running cp -a jnius/src/org /home/kivy...(and 78 more)
[INFO]: <- directory context /home/kivydev/test/.buildozer/android/platform/python-for-android
[INFO]: Postbuilding android for armeabi-v7a
[INFO]: Postbuilding kivy for armeabi-v7a
[INFO]: # Installing pure Python modules
[INFO]: *** PYTHON PACKAGE / PROJECT INSTALL STAGE ***
[INFO]: The requirements (psutil) don't have recipes, attempting to install them with pip
[INFO]: If this fails, it may mean that the module has compiled components and needs a recipe.
[INFO]: -> directory context /home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build
[INFO]: -> running virtualenv --python=python3 venv
[INFO]: Upgrade pip to latest version
[INFO]: -> running bash -c source venv/bin/activat...(and 23 more)
Exception in thread background thread for pid 6213:
Traceback (most recent call last):File "/usr/local/python37/lib/python3.7/threading.py", line 917, in _bootstrap_innerself.run()File "/usr/local/python37/lib/python3.7/threading.py", line 865, in runself._target(*self._args, **self._kwargs)File "/usr/local/python37/lib/python3.7/site-packages/sh.py", line 1662, in wrapfn(*args, **kwargs)File "/usr/local/python37/lib/python3.7/site-packages/sh.py", line 2606, in background_threadhandle_exit_code(exit_code)File "/usr/local/python37/lib/python3.7/site-packages/sh.py", line 2304, in fnreturn self.command.handle_command_exit_code(exit_code)File "/usr/local/python37/lib/python3.7/site-packages/sh.py", line 877, in handle_command_exit_coderaise exc
sh.ErrorReturnCode_1: RAN: /bin/bash -c 'source venv/bin/activate && pip install -U pip'STDOUT:
Traceback (most recent call last):File "/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/venv/bin/pip", line 8, in <module>sys.exit(main())File "/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/main.py", line 45, in maincommand = create_command(cmd_name, isolated=("--isolated" in cmd_args))File "/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", line 96, in create_commandmodule = importlib.import_module(module_path)File "/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/importlib/__init__.py", line 127, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)File "<frozen importlib._bootstrap>", line 1006, in _gcd_importFile "<frozen importlib._bootstrap>", line 983, in _find_and_loadFile "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 677, in _load_unlockedFile "<frozen importlib._bootstrap_external>", line 728, in exec_moduleFile "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removedFile "/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 23, in <module>from pip._internal.cli.req_command import RequirementCommandFile "/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", line 17, in <module>from pip._internal.index import PackageFinder
ImportError: cannot import name 'PackageFinder' from 'pip._internal.index' (/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/index/__init__.py)STDERR:Traceback (most recent call last):File "/usr/local/python37/lib/python3.7/runpy.py", line 193, in _run_module_as_main"__main__", mod_spec)File "/usr/local/python37/lib/python3.7/runpy.py", line 85, in _run_codeexec(code, run_globals)File "/home/kivydev/test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1199, in <module>main()File "/home/kivydev/test/.buildozer/android/platform/python-for-android/pythonforandroid/entrypoints.py", line 18, in mainToolchainCL()File "/home/kivydev/test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 671, in __init__getattr(self, args.subparser_name.replace('-', '_'))(args)File "/home/kivydev/test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 155, in wrapper_funcbuild_dist_from_args(ctx, dist, args)File "/home/kivydev/test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 209, in build_dist_from_argsargs, "ignore_setup_py", FalseFile "/home/kivydev/test/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 605, in build_recipesignore_setup_py=ignore_project_setup_pyFile "/home/kivydev/test/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 791, in run_pymodules_install), _env=copy.copy(base_env))File "/home/kivydev/test/.buildozer/android/platform/python-for-android/pythonforandroid/logger.py", line 180, in shprintfor line in output:File "/usr/local/python37/lib/python3.7/site-packages/sh.py", line 925, in nextself.wait()File "/usr/local/python37/lib/python3.7/site-packages/sh.py", line 849, in waitself.handle_command_exit_code(exit_code)File "/usr/local/python37/lib/python3.7/site-packages/sh.py", line 877, in handle_command_exit_coderaise exc
sh.ErrorReturnCode_1: RAN: /bin/bash -c 'source venv/bin/activate && pip install -U pip'STDOUT:
Traceback (most recent call last):File "/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/venv/bin/pip", line 8, in <module>sys.exit(main())File "/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/main.py", line 45, in maincommand = create_command(cmd_name, isolated=("--isolated" in cmd_args))File "/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", line 96, in create_commandmodule = importlib.import_module(module_path)File "/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/importlib/__init__.py", line 127, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)File "<frozen importlib._bootstrap>", line 1006, in _gcd_importFile "<frozen importlib._bootstrap>", line 983, in _find_and_loadFile "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 677, in _load_unlockedFile "<frozen importlib._bootstrap_external>", line 728, in exec_moduleFile "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removedFile "/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 23, in <module>from pip._internal.cli.req_command import RequirementCommandFile "/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", line 17, in <module>from pip._internal.index import PackageFinder
ImportError: cannot import name 'PackageFinder' from 'pip._internal.index' (/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a/build/venv/lib/python3.7/site-packages/pip/_internal/index/__init__.py)STDERR:# Command failed: /usr/local/python37/bin/python3.7 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3,kivy,psutil --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/kivydev/test/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21
# ENVIRONMENT:
# XDG_VTNR = '7'
# LC_PAPER = 'zh_CN.UTF-8'
# SSH_AGENT_PID = '1482'
# LC_ADDRESS = 'zh_CN.UTF-8'
# XDG_SESSION_ID = 'c1'
# XDG_GREETER_DATA_DIR = '/var/lib/lightdm-data/kivydev'
# LC_MONETARY = 'zh_CN.UTF-8'
# CLUTTER_IM_MODULE = ''
# SESSION = 'xfce'
# GLADE_PIXMAP_PATH = ':'
# TERM = 'xterm-256color'
# VTE_VERSION = '4205'
# XDG_MENU_PREFIX = 'xfce-'
# SHELL = '/bin/bash'
# QT_LINUX_ACCESSIBILITY_ALWAYS_ON = '1'
# WINDOWID = '67108870'
# LC_NUMERIC = 'zh_CN.UTF-8'
# UPSTART_SESSION = 'unix:abstract=/com/ubuntu/upstart-session/1000/1131'
# GNOME_KEYRING_CONTROL = ''
# GTK_MODULES = 'gail:atk-bridge'
# ANT_HOME = '/home/kivydev/andr/apache-ant-1.9.4'
# USER = 'kivydev'
# JRE_HOME = '/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre'
# LS_COLORS = 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:'
# QT_ACCESSIBILITY = '1'
# LC_TELEPHONE = 'zh_CN.UTF-8'
# XDG_SESSION_PATH = '/org/freedesktop/DisplayManager/Session0'
# GLADE_MODULE_PATH = ':'
# XDG_SEAT_PATH = '/org/freedesktop/DisplayManager/Seat0'
# SSH_AUTH_SOCK = '/tmp/ssh-jbKH8Hlj6vwH/agent.1479'
# SESSION_MANAGER = 'local/kivydev-VirtualBox:@/tmp/.ICE-unix/1433,unix/kivydev-VirtualBox:/tmp/.ICE-unix/1433'
# DEFAULTS_PATH = '/usr/share/gconf/xfce.default.path'
# XDG_CONFIG_DIRS = '/etc/xdg/xdg-xfce:/usr/share/upstart/xdg:/etc/xdg:/etc/xdg'
# DESKTOP_SESSION = 'xfce'
# PATH = '/home/kivydev/andr/apache-ant-1.9.4/bin:/home/kivydev/bin:/home/kivydev/.local/bin:/usr/local/python37/bin:/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/bin:/home/kivydev/andr/apache-ant-1.9.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
# QT_IM_MODULE = ''
# QT_QPA_PLATFORMTHEME = 'appmenu-qt5'
# LC_IDENTIFICATION = 'zh_CN.UTF-8'
# XDG_SESSION_TYPE = 'x11'
# PWD = '/media/sf_share'
# JOB = 'dbus'
# XMODIFIERS = ''
# JAVA_HOME = '/usr/lib/jvm/java-1.8.0-openjdk-amd64'
# GNOME_KEYRING_PID = ''
# LANG = 'en_US.UTF-8'
# GDM_LANG = 'en_US'
# MANDATORY_PATH = '/usr/share/gconf/xfce.mandatory.path'
# LC_MEASUREMENT = 'zh_CN.UTF-8'
# IM_CONFIG_PHASE = '1'
# GDMSESSION = 'xfce'
# SESSIONTYPE = ''
# GTK2_MODULES = 'overlay-scrollbar'
# SHLVL = '1'
# HOME = '/home/kivydev'
# JDK_HOME = '/usr/lib/jvm/java-1.8.0-openjdk-amd64'
# XDG_SEAT = 'seat0'
# LANGUAGE = 'en_US'
# UPSTART_INSTANCE = ''
# UPSTART_EVENTS = 'started xsession'
# XDG_SESSION_DESKTOP = 'xfce'
# LOGNAME = 'kivydev'
# DBUS_SESSION_BUS_ADDRESS = 'unix:abstract=/tmp/dbus-crjp0y1uhe'
# XDG_DATA_DIRS = '/usr/share/xfce:/usr/share/xfce4:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop:/usr/share'
# CLASSPATH = '.:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/lib/dt.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/lib/tools.jar'
# QT4_IM_MODULE = ''
# LESSOPEN = '| /usr/bin/lesspipe %s'
# INSTANCE = ''
# UPSTART_JOB = 'startxfce4'
# XDG_RUNTIME_DIR = '/run/user/1000'
# DISPLAY = ':0'
# GLADE_CATALOG_PATH = ':'
# XDG_CURRENT_DESKTOP = 'XFCE'
# GTK_IM_MODULE = ''
# LESSCLOSE = '/usr/bin/lesspipe %s %s'
# LC_TIME = 'zh_CN.UTF-8'
# LC_NAME = 'zh_CN.UTF-8'
# XAUTHORITY = '/home/kivydev/.Xauthority'
# _ = '/usr/local/python37/bin/buildozer'
# PACKAGES_PATH = '/home/kivydev/.buildozer/android/packages'
# ANDROIDSDK = '/home/kivydev/andr/android-sdk-linux'
# ANDROIDNDK = '/home/kivydev/andr/android-ndk-r19c'
# ANDROIDAPI = '27'
# ANDROIDMINAPI = '21'
#
# 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
如果我不在buildozer.spec里加 ,psutil
,可以打包,但由于缺少组件,在手机安装后会遇到闪退问题…
python3 -m pip wheel psutil --wheel-dir=./ -i https://pypi.tuna.tsinghua.edu.cn/simple
这个可以编译成功但没用
找到问题了
我 pip 的配置有问题
在文件 : ./pip/pip.conf 中,此环境用的源是:douban,上不去
更换了源为 清华, 如下,再按原本
requirements = python3,kivy,psutil
配置
重新编译,OK了
[global]
#index-url=http://pypi.douban.com/simple
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
#trusted-host=pypi.douban.com
trusted-host=pypi.tuna.tsinghua.edu.cn
可以编译成功,但是手机安装后运行依然闪退
— 貌似库不支持在安卓下:
换了个 python-dateutil
可以正常工作
不确定,再试试看其他的
先试试看其他的~~~~~
这篇关于使用buildozer 打包 apk时遇到的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!