WARNING: You are using pip version 21.3.1; however, version 24.1.1 is available.
You should consider upgrading via the '/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/bin/python -m pip install --upgrade pip' command.
Apache ANT found at /Users/phil/.buildozer/android/platform/apache-ant-1.9.4
Android SDK found at /Users/phil/.buildozer/android/platform/android-sdk
Recommended android's NDK version by p4a is: 25b
Android NDK found at /Users/phil/.buildozer/android/platform/android-ndk-r25b
[WARNING]: prerequisites.py is experimental and does not support all prerequisites yet.
[WARNING]: Please report any issues to the python-for-android issue tracker.
[INFO]: Prerequisite homebrew is met
[INFO]: Prerequisite autoconf is met
[INFO]: Prerequisite automake is met
[INFO]: Prerequisite libtool is met
[INFO]: Prerequisite pkg-config is met
[INFO]: Prerequisite cmake is met
[INFO]: Prerequisite openssl is met
[ERROR]: JDK version 22 is not supported
[ERROR]: Prerequisite JDK is not met
[INFO]: python-for-android requires a JDK 17 to be installed on macOS,but seems like you don't have one installed.
[INFO]: If you think that a valid JDK is already installed, please verify that you have a JDK 17 installed and that /usr/libexec/java_home shows the correct path.
[INFO]: If you have multiple JDK installations, please make sure that you have JAVA_HOME environment variable set to the correct JDK installation.
[INFO]: python-for-android can automatically install prerequisite: JDK
Do you want automatically install prerequisite JDK? [y/N] y
[INFO]: Looking for a JDK 17 installation which is not the default one ...
[INFO]: Found a valid JDK at /Users/phil/Library/Java/JavaVirtualMachines/jdk-17.0.2+8/Contents/Home
[INFO]: Setting JAVA_HOME to /Users/phil/Library/Java/JavaVirtualMachines/jdk-17.0.2+8/Contents/Home
[WARNING]: prerequisites.py is experimental and does not support all prerequisites yet.
[WARNING]: Please report any issues to the python-for-android issue tracker.
[INFO]: Prerequisite homebrew is met
[INFO]: Prerequisite autoconf is met
[INFO]: Prerequisite automake is met
[INFO]: Prerequisite libtool is met
[INFO]: Prerequisite pkg-config is met
[INFO]: Prerequisite cmake is met
[INFO]: Prerequisite openssl is met
[INFO]: Found JAVA_HOME environment variable, using it
[INFO]: Found a valid JDK at /Users/phil/Library/Java/JavaVirtualMachines/jdk-17.0.2+8/Contents/Home
[INFO]: Prerequisite JDK is met
usage: toolchain.py aab [-h] [--debug] [--color {always,never,auto}]
[--sdk-dir SDK_DIR] [--ndk-dir NDK_DIR]
[--android-api ANDROID_API]
[--ndk-version NDK_VERSION] [--ndk-api NDK_API]
[--symlink-bootstrap-files]
[--storage-dir STORAGE_DIR] [--arch ARCH]
[--dist-name DIST_NAME] [--requirements REQUIREMENTS]
[--recipe-blacklist RECIPE_BLACKLIST]
[--blacklist-requirements BLACKLIST_REQUIREMENTS]
[--bootstrap BOOTSTRAP] [--hook HOOK] [--force-build]
[--no-force-build] [--require-perfect-match]
[--no-require-perfect-match] [--allow-replace-dist]
[--no-allow-replace-dist]
[--local-recipes LOCAL_RECIPES]
[--activity-class-name ACTIVITY_CLASS_NAME]
[--service-class-name SERVICE_CLASS_NAME]
[--java-build-tool {auto,ant,gradle}] [--copy-libs]
[--no-copy-libs] [--add-asset ASSETS]
[--add-resource RESOURCES] [--private PRIVATE]
[--use-setup-py] [--ignore-setup-py] [--release]
[--with-debug-symbols] [--keystore KEYSTORE]
[--signkey SIGNKEY] [--keystorepw KEYSTOREPW]
[--signkeypw SIGNKEYPW]
options:
-h, --help show this help message and exit
--debug Display debug output and all build info
--color {always,never,auto}
Enable or disable color output (default enabled on
tty)
--sdk-dir SDK_DIR, --sdk_dir SDK_DIR
The filepath where the Android SDK is installed
--ndk-dir NDK_DIR, --ndk_dir NDK_DIR
The filepath where the Android NDK is installed
--android-api ANDROID_API, --android_api ANDROID_API
The Android API level to build against defaults to 33
if not specified.
--ndk-version NDK_VERSION, --ndk_version NDK_VERSION
DEPRECATED: the NDK version is now found automatically
or not at all.
--ndk-api NDK_API The Android API level to compile against. This should
be your minimal supported API, not normally the same
as your --android-api. Defaults to min(ANDROID_API,
21) if not specified.
--symlink-bootstrap-files, --ssymlink_bootstrap_files
If True, symlinks the bootstrap files creation. This
is useful for development only, it could also cause
weird problems.
--storage-dir STORAGE_DIR
Primary storage directory for downloads and builds
(default: ~/.python-for-android)
--arch ARCH The archs to build for.
--dist-name DIST_NAME, --dist_name DIST_NAME
The name of the distribution to use or create
--requirements REQUIREMENTS
Dependencies of your app, should be recipe names or
Python modules. NOT NECESSARY if you are using Python
3 with --use-setup-py
--recipe-blacklist RECIPE_BLACKLIST
Blacklist an internal recipe from use. Allows
disabling Python 3 core modules to save size
--blacklist-requirements BLACKLIST_REQUIREMENTS
Blacklist an internal recipe from use. Allows
disabling Python 3 core modules to save size
--bootstrap BOOTSTRAP
The bootstrap to build with. Leave unset to choose
automatically.
--hook HOOK Filename to a module that contains python-for-android
hooks
--local-recipes LOCAL_RECIPES, --local_recipes LOCAL_RECIPES
Directory to look for local recipes
--activity-class-name ACTIVITY_CLASS_NAME
The full java class name of the main activity
--service-class-name SERVICE_CLASS_NAME
Full java package name of the PythonService class
--java-build-tool {auto,ant,gradle}
The java build tool to use when packaging the APK,
defaults to automatically selecting an appropriate
tool.
--add-asset ASSETS Put this in the assets folder in the apk.
--add-resource RESOURCES
Put this in the res folder in the apk.
--private PRIVATE the directory with the app source code files
(containing your main.py entrypoint)
--use-setup-py Process the setup.py of a project if present.
(Experimental!
--ignore-setup-py Don't run the setup.py of a project if present. This
may be required if the setup.py is not designed to
work inside p4a (e.g. by installing dependencies that
won't work or aren't desired on Android
--release Build your app as a non-debug release build. (Disables
gdb debugging among other things)
--with-debug-symbols Will keep debug symbols from .so files.
--keystore KEYSTORE Keystore for JAR signing key, will use jarsigner
default if not specified (release build only)
--signkey SIGNKEY Key alias to sign PARSER_APK. with (release build
only)
--keystorepw KEYSTOREPW
Password for keystore
--signkeypw SIGNKEYPW
Password for key alias
Whether to force compilation of a new distribution
--force-build
--no-force-build (this is the default)
--require-perfect-match
--no-require-perfect-match
(this is the default)
--allow-replace-dist (this is the default)
--no-allow-replace-dist
--copy-libs
--no-copy-libs (this is the default)
[WARNING]: prerequisites.py is experimental and does not support all prerequisites yet.
[WARNING]: Please report any issues to the python-for-android issue tracker.
[INFO]: Prerequisite homebrew is met
[INFO]: Prerequisite autoconf is met
[INFO]: Prerequisite automake is met
[INFO]: Prerequisite libtool is met
[INFO]: Prerequisite pkg-config is met
[INFO]: Prerequisite cmake is met
[INFO]: Prerequisite openssl is met
[ERROR]: JDK version 22 is not supported
[ERROR]: Prerequisite JDK is not met
[INFO]: python-for-android requires a JDK 17 to be installed on macOS,but seems like you don't have one installed.
[INFO]: If you think that a valid JDK is already installed, please verify that you have a JDK 17 installed and that /usr/libexec/java_home shows the correct path.
[INFO]: If you have multiple JDK installations, please make sure that you have JAVA_HOME environment variable set to the correct JDK installation.
[INFO]: python-for-android can automatically install prerequisite: JDK
Do you want automatically install prerequisite JDK? [y/N] y
[INFO]: Looking for a JDK 17 installation which is not the default one ...
[INFO]: Found a valid JDK at /Users/phil/Library/Java/JavaVirtualMachines/jdk-17.0.2+8/Contents/Home
[INFO]: Setting JAVA_HOME to /Users/phil/Library/Java/JavaVirtualMachines/jdk-17.0.2+8/Contents/Home
[WARNING]: prerequisites.py is experimental and does not support all prerequisites yet.
[WARNING]: Please report any issues to the python-for-android issue tracker.
DEBUG: All possible dists: : Dist matching name and arch: : Dist matching ndk_api and recipe: []
[INFO]: No existing dists meet the given requirements!
DEBUG: Remove directory and subdirectory /Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/kivy_test
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1256, in
main()
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/entrypoints.py", line 18, in main
ToolchainCL()
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 685, in init
getattr(self, command)(args)
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 104, in wrapper_func
build_dist_from_args(ctx, dist, args)
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 163, in build_dist_from_args
build_recipes(build_order, python_modules, ctx,
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 504, in build_recipes
recipe.build_arch(arch)
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/hostpython3/init.py", line 128, in build_arch
shprint(sh.make, '-j', str(cpu_count()), '-C', build_dir, _env=env)
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/logger.py", line 167, in shprint
for line in output:
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/lib/python3.10/site-packages/sh.py", line 915, in next
self.wait()
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/lib/python3.10/site-packages/sh.py", line 845, in wait
self.handle_command_exit_code(exit_code)
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/lib/python3.10/site-packages/sh.py", line 869, in handle_command_exit_code
raise exc
sh.ErrorReturnCode_2:
Versions
Description
Got an error while building
buildozer.spec
[app]
(str) Title of your application
title = kivi_test
(str) Package name
package.name = kivy_test
(str) Package domain (needed for android/ios packaging)
package.domain = org.philouche
(str) Source code where the main.py live
source.dir = .
(list) Source files to include (let empty to include all the files)
source.include_exts = py,png,jpg,kv,atlas
(list) List of inclusions using pattern matching
source.include_patterns = assets/,images/.png
(list) Source files to exclude (let empty to not exclude anything)
source.exclude_exts = spec
(list) List of directory to exclude (let empty to not exclude anything)
source.exclude_dirs = tests, bin, venv
(list) List of exclusions using pattern matching
Do not prefix with './'
source.exclude_patterns = license,images//.jpg
(str) Application versioning (method 1)
version = 0.1
(str) Application versioning (method 2)
version.regex = version = '"['"]
version.filename = %(source.dir)s/main.py
(list) Application requirements
comma separated e.g. requirements = sqlite3,kivy
requirements = python3,kivy
(str) Custom source folders for requirements
Sets custom source for any requirements with recipes
requirements.source.kivy = ../../kivy
(str) Presplash of the application
presplash.filename = %(source.dir)s/data/presplash.png
(str) Icon of the application
icon.filename = %(source.dir)s/data/icon.png
(list) Supported orientations
Valid options are: landscape, portrait, portrait-reverse or landscape-reverse
orientation = portrait
(list) List of service to declare
services = NAME:ENTRYPOINT_TO_PY,NAME2:ENTRYPOINT2_TO_PY
#
OSX Specific
#
#
author = © Copyright Info
change the major version of python used by the app
osx.python_version = 3
Kivy version to use
osx.kivy_version = 1.9.1
#
Android specific
#
(bool) Indicate if the application should be fullscreen or not
fullscreen = 0
(string) Presplash background color (for android toolchain)
Supported formats are: #RRGGBB #AARRGGBB or one of the following names:
red, blue, green, black, white, gray, cyan, magenta, yellow, lightgray,
darkgray, grey, lightgrey, darkgrey, aqua, fuchsia, lime, maroon, navy,
olive, purple, silver, teal.
android.presplash_color = #FFFFFF
(string) Presplash animation using Lottie format.
see https://lottiefiles.com/ for examples and https://airbnb.design/lottie/
for general documentation.
Lottie files can be created using various tools, like Adobe After Effect or Synfig.
android.presplash_lottie = "path/to/lottie/file.json"
(str) Adaptive icon of the application (used if Android API level is 26+ at runtime)
icon.adaptive_foreground.filename = %(source.dir)s/data/icon_fg.png
icon.adaptive_background.filename = %(source.dir)s/data/icon_bg.png
(list) Permissions
(See https://python-for-android.readthedocs.io/en/latest/buildoptions/#build-options-1 for all the supported syntaxes and properties)
android.permissions = android.permission.INTERNET, (name=android.permission.WRITE_EXTERNAL_STORAGE;maxSdkVersion=18)
(list) features (adds uses-feature -tags to manifest)
android.features = android.hardware.usb.host
(int) Target Android API, should be as high as possible.
android.api = 31
(int) Minimum API your APK / AAB will support.
android.minapi = 21
(int) Android SDK version to use
android.sdk = 20
(str) Android NDK version to use
android.ndk = 23b
(int) Android NDK API to use. This is the minimum API your app will support, it should usually match android.minapi.
android.ndk_api = 21
(bool) Use --private data storage (True) or --dir public storage (False)
android.private_storage = True
(str) Android NDK directory (if empty, it will be automatically downloaded.)
android.ndk_path =
(str) Android SDK directory (if empty, it will be automatically downloaded.)
android.sdk_path =
(str) ANT directory (if empty, it will be automatically downloaded.)
android.ant_path =
(bool) If True, then skip trying to update the Android sdk
This can be useful to avoid excess Internet downloads or save time
when an update is due and you just want to test/build your package
android.skip_update = False
(bool) If True, then automatically accept SDK license
agreements. This is intended for automation only. If set to False,
the default, you will be shown the license when first running
buildozer.
android.accept_sdk_license = False
(str) Android entry point, default is ok for Kivy-based app
android.entrypoint = org.kivy.android.PythonActivity
(str) Full name including package path of the Java class that implements Android Activity
use that parameter together with android.entrypoint to set custom Java class instead of PythonActivity
android.activity_class_name = org.kivy.android.PythonActivity
(str) Extra xml to write directly inside the element of AndroidManifest.xml
use that parameter to provide a filename from where to load your custom XML code
android.extra_manifest_xml = ./src/android/extra_manifest.xml
(str) Extra xml to write directly inside the tag of AndroidManifest.xml
use that parameter to provide a filename from where to load your custom XML arguments:
android.extra_manifest_application_arguments = ./src/android/extra_manifest_application_arguments.xml
(str) Full name including package path of the Java class that implements Python Service
use that parameter to set custom Java class which extends PythonService
android.service_class_name = org.kivy.android.PythonService
(str) Android app theme, default is ok for Kivy-based app
android.apptheme = "@android:style/Theme.NoTitleBar"
(list) Pattern to whitelist for the whole project
android.whitelist =
(str) Path to a custom whitelist file
android.whitelist_src =
(str) Path to a custom blacklist file
android.blacklist_src =
(list) List of Java .jar files to add to the libs so that pyjnius can access
their classes. Don't add jars that you do not need, since extra jars can slow
down the build process. Allows wildcards matching, for example:
OUYA-ODK/libs/*.jar
android.add_jars = foo.jar,bar.jar,path/to/more/*.jar
(list) List of Java files to add to the android project (can be java or a
directory containing the files)
android.add_src =
(list) Android AAR archives to add
android.add_aars =
(list) Put these files or directories in the apk assets directory.
Either form may be used, and assets need not be in 'source.include_exts'.
1) android.add_assets = source_asset_relative_path
2) android.add_assets = source_asset_path:destination_asset_relative_path
android.add_assets =
(list) Put these files or directories in the apk res directory.
The option may be used in three ways, the value may contain one or zero ':'
Some examples:
1) A file to add to resources, legal resource names contain ['a-z','0-9','_']
android.add_resources = my_icons/all-inclusive.png:drawable/all_inclusive.png
2) A directory, here 'legal_icons' must contain resources of one kind
android.add_resources = legal_icons:drawable
3) A directory, here 'legal_resources' must contain one or more directories,
each of a resource kind: drawable, xml, etc...
android.add_resources = legal_resources
android.add_resources =
(list) Gradle dependencies to add
android.gradle_dependencies =
(bool) Enable AndroidX support. Enable when 'android.gradle_dependencies'
contains an 'androidx' package, or any package from Kotlin source.
android.enable_androidx requires android.api >= 28
android.enable_androidx = True
(list) add java compile options
this can for example be necessary when importing certain java libraries using the 'android.gradle_dependencies' option
see https://developer.android.com/studio/write/java8-support for further information
android.add_compile_options = "sourceCompatibility = 1.8", "targetCompatibility = 1.8"
(list) Gradle repositories to add {can be necessary for some android.gradle_dependencies}
please enclose in double quotes
e.g. android.gradle_repositories = "maven { url 'https://kotlin.bintray.com/ktor' }"
android.add_gradle_repositories =
(list) packaging options to add
see https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.PackagingOptions.html
can be necessary to solve conflicts in gradle_dependencies
please enclose in double quotes
e.g. android.add_packaging_options = "exclude 'META-INF/common.kotlin_module'", "exclude 'META-INF/*.kotlin_module'"
android.add_packaging_options =
(list) Java classes to add as activities to the manifest.
android.add_activities = com.example.ExampleActivity
(str) OUYA Console category. Should be one of GAME or APP
If you leave this blank, OUYA support will not be enabled
android.ouya.category = GAME
(str) Filename of OUYA Console icon. It must be a 732x412 png image.
android.ouya.icon.filename = %(source.dir)s/data/ouya_icon.png
(str) XML file to include as an intent filters in tag
android.manifest.intent_filters =
(list) Copy these files to src/main/res/xml/ (used for example with intent-filters)
android.res_xml = PATH_TO_FILE,
(str) launchMode to set for the main activity
android.manifest.launch_mode = standard
(str) screenOrientation to set for the main activity.
Valid values can be found at https://developer.android.com/guide/topics/manifest/activity-element
android.manifest.orientation = fullSensor
(list) Android additional libraries to copy into libs/armeabi
android.add_libs_armeabi = libs/android/*.so
android.add_libs_armeabi_v7a = libs/android-v7/*.so
android.add_libs_arm64_v8a = libs/android-v8/*.so
android.add_libs_x86 = libs/android-x86/*.so
android.add_libs_mips = libs/android-mips/*.so
(bool) Indicate whether the screen should stay on
Don't forget to add the WAKE_LOCK permission if you set this to True
android.wakelock = False
(list) Android application meta-data to set (key=value format)
android.meta_data =
(list) Android library project to add (will be added in the
project.properties automatically.)
android.library_references =
(list) Android shared libraries which will be added to AndroidManifest.xml using tag
android.uses_library =
(str) Android logcat filters to use
android.logcat_filters = *:S python:D
(bool) Android logcat only display log for activity's pid
android.logcat_pid_only = False
(str) Android additional adb arguments
android.adb_args = -H host.docker.internal
(bool) Copy library instead of making a libpymodules.so
android.copy_libs = 1
(list) The Android archs to build for, choices: armeabi-v7a, arm64-v8a, x86, x86_64
In past, was
android.arch
as we weren't supporting builds for multiple archs at the same time.android.archs = arm64-v8a, armeabi-v7a
(int) overrides automatic versionCode computation (used in build.gradle)
this is not the same as app version and should only be edited if you know what you're doing
android.numeric_version = 1
(bool) enables Android auto backup feature (Android API >=23)
android.allow_backup = True
(str) XML file for custom backup rules (see official auto backup documentation)
android.backup_rules =
(str) If you need to insert variables into your AndroidManifest.xml file,
you can do so with the manifestPlaceholders property.
This property takes a map of key-value pairs. (via a string)
Usage example : android.manifest_placeholders = [myCustomUrl:\"org.kivy.customurl\"]
android.manifest_placeholders = [:]
(bool) Skip byte compile for .py files
android.no-byte-compile-python = False
(str) The format used to package the app for release mode (aab or apk or aar).
android.release_artifact = aab
(str) The format used to package the app for debug mode (apk or aar).
android.debug_artifact = apk
#
Python for android (p4a) specific
#
(str) python-for-android URL to use for checkout
p4a.url =
(str) python-for-android fork to use in case if p4a.url is not specified, defaults to upstream (kivy)
p4a.fork = kivy
(str) python-for-android branch to use, defaults to master
p4a.branch = master
(str) python-for-android specific commit to use, defaults to HEAD, must be within p4a.branch
p4a.commit = HEAD
(str) python-for-android git clone directory (if empty, it will be automatically cloned from github)
p4a.source_dir =
(str) The directory in which python-for-android should look for your own build recipes (if any)
p4a.local_recipes =
(str) Filename to the hook for p4a
p4a.hook =
(str) Bootstrap to use for android builds
p4a.bootstrap = sdl2
(int) port number to specify an explicit --port= p4a argument (eg for bootstrap flask)
p4a.port =
Control passing the --use-setup-py vs --ignore-setup-py to p4a
"in the future" --use-setup-py is going to be the default behaviour in p4a, right now it is not
Setting this to false will pass --ignore-setup-py, true will pass --use-setup-py
NOTE: this is general setuptools integration, having pyproject.toml is enough, no need to generate
setup.py if you're using Poetry, but you need to add "toml" to source.include_exts.
p4a.setup_py = false
(str) extra command line arguments to pass when invoking pythonforandroid.toolchain
p4a.extra_args =
#
iOS specific
#
(str) Path to a custom kivy-ios folder
ios.kivy_ios_dir = ../kivy-ios
Alternately, specify the URL and branch of a git checkout:
ios.kivy_ios_url = https://github.com/kivy/kivy-ios ios.kivy_ios_branch = master
Another platform dependency: ios-deploy
Uncomment to use a custom checkout
ios.ios_deploy_dir = ../ios_deploy
Or specify URL and branch
ios.ios_deploy_url = https://github.com/phonegap/ios-deploy ios.ios_deploy_branch = 1.10.0
(bool) Whether or not to sign the code
ios.codesign.allowed = false
(str) Name of the certificate to use for signing the debug version
Get a list of available identities: buildozer ios list_identities
ios.codesign.debug = "iPhone Developer: ()"
(str) The development team to use for signing the debug version
ios.codesign.development_team.debug =
(str) Name of the certificate to use for signing the release version
ios.codesign.release = %(ios.codesign.debug)s
(str) The development team to use for signing the release version
ios.codesign.development_team.release =
(str) URL pointing to .ipa file to be installed
This option should be defined along with
display_image_url
andfull_size_image_url
options.ios.manifest.app_url =
(str) URL pointing to an icon (57x57px) to be displayed during download
This option should be defined along with
app_url
andfull_size_image_url
options.ios.manifest.display_image_url =
(str) URL pointing to a large icon (512x512px) to be used by iTunes
This option should be defined along with
app_url
anddisplay_image_url
options.ios.manifest.full_size_image_url =
[buildozer]
(int) Log level (0 = error only, 1 = info, 2 = debug (with command output))
log_level = 2
(int) Display warning if buildozer is run as root (0 = False, 1 = True)
warn_on_root = 1
(str) Path to build artifact storage, absolute or relative to spec file
build_dir = ./.buildozer
(str) Path to build output (i.e. .apk, .aab, .ipa) storage
bin_dir = ./bin
-----------------------------------------------------------------------------
List as sections
#
You can define all the "list" as [section:key].
Each line will be considered as a option to the list.
Let's take [app] / source.exclude_patterns.
Instead of doing:
#
[app]
source.exclude_patterns = license,data/audio/.wav,data/images/original/
#
This can be translated into:
#
[app:source.exclude_patterns]
license
data/audio/*.wav
data/images/original/*
#
-----------------------------------------------------------------------------
Profiles
#
You can extend section / key with a profile
For example, you want to deploy a demo version of your application without
HD content. You could first change the title to add "(demo)" in the name
and extend the excluded directories to remove the HD content.
#
[app@demo]
title = My Application (demo)
#
[app:source.exclude_patterns@demo]
images/hd/*
#
Then, invoke the command line with the "demo" profile:
#
buildozer --profile demo android debug
Command: buildozer -v android debug
Logs (I had to remove some INFO level to fit the max size here.)
buildozer -v android debug (venv) phil@Mac-mini-de-phil kivi_test % buildozer v android debug
Check configuration tokens
Unknown command/target v (venv) phil@Mac-mini-de-phil kivi_test % buildozer -v android debug
Check configuration tokens
Ensure build layout
Check configuration tokens
Preparing build
Check requirements for android
Search for Git (git)
-> found at /usr/local/Cellar/git/2.42.0/bin/git
Search for Cython (cython)
-> found at /Users/phil/PycharmProjects/pythonProject/kivi_test/venv/bin/cython
Search for Java compiler (javac)
-> found at /usr/bin/javac
Search for Java keytool (keytool)
-> found at /usr/bin/keytool
Install platform
Run ['git', 'config', '--get', 'remote.origin.url']
Cwd /Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android
https://github.com/kivy/python-for-android.git
Run ['git', 'branch', '-vv']
Cwd /Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android
Run ['/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/bin/python', '-m', 'pip', 'install', '-q', 'appdirs', 'colorama>=0.3.3', 'jinja2', 'sh>=1.10, <2.0; sys_platform!="win32"', 'build', 'toml', 'packaging', 'setuptools']
Cwd None
WARNING: You are using pip version 21.3.1; however, version 24.1.1 is available. You should consider upgrading via the '/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/bin/python -m pip install --upgrade pip' command.
Apache ANT found at /Users/phil/.buildozer/android/platform/apache-ant-1.9.4
Android SDK found at /Users/phil/.buildozer/android/platform/android-sdk
Recommended android's NDK version by p4a is: 25b
Android NDK found at /Users/phil/.buildozer/android/platform/android-ndk-r25b
Run ['/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/bin/python', '-m', 'pythonforandroid.toolchain', 'aab', '-h', '--color=always', '--storage-dir=/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a', '--ndk-api=21', '--ignore-setup-py', '--debug']
Cwd /Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android
[WARNING]: prerequisites.py is experimental and does not support all prerequisites yet. [WARNING]: Please report any issues to the python-for-android issue tracker. [INFO]: Prerequisite homebrew is met [INFO]: Prerequisite autoconf is met [INFO]: Prerequisite automake is met [INFO]: Prerequisite libtool is met [INFO]: Prerequisite pkg-config is met [INFO]: Prerequisite cmake is met [INFO]: Prerequisite openssl is met [ERROR]: JDK version 22 is not supported [ERROR]: Prerequisite JDK is not met [INFO]: python-for-android requires a JDK 17 to be installed on macOS,but seems like you don't have one installed. [INFO]: If you think that a valid JDK is already installed, please verify that you have a JDK 17 installed and that
/usr/libexec/java_home
shows the correct path. [INFO]: If you have multiple JDK installations, please make sure that you haveJAVA_HOME
environment variable set to the correct JDK installation. [INFO]: python-for-android can automatically install prerequisite: JDK Do you want automatically install prerequisite JDK? [y/N] y [INFO]: Looking for a JDK 17 installation which is not the default one ... [INFO]: Found a valid JDK at /Users/phil/Library/Java/JavaVirtualMachines/jdk-17.0.2+8/Contents/Home [INFO]: Setting JAVA_HOME to /Users/phil/Library/Java/JavaVirtualMachines/jdk-17.0.2+8/Contents/Home [WARNING]: prerequisites.py is experimental and does not support all prerequisites yet. [WARNING]: Please report any issues to the python-for-android issue tracker. [INFO]: Prerequisite homebrew is met [INFO]: Prerequisite autoconf is met [INFO]: Prerequisite automake is met [INFO]: Prerequisite libtool is met [INFO]: Prerequisite pkg-config is met [INFO]: Prerequisite cmake is met [INFO]: Prerequisite openssl is met [INFO]: Found JAVA_HOME environment variable, using it [INFO]: Found a valid JDK at /Users/phil/Library/Java/JavaVirtualMachines/jdk-17.0.2+8/Contents/Home [INFO]: Prerequisite JDK is met usage: toolchain.py aab [-h] [--debug] [--color {always,never,auto}] [--sdk-dir SDK_DIR] [--ndk-dir NDK_DIR] [--android-api ANDROID_API] [--ndk-version NDK_VERSION] [--ndk-api NDK_API] [--symlink-bootstrap-files] [--storage-dir STORAGE_DIR] [--arch ARCH] [--dist-name DIST_NAME] [--requirements REQUIREMENTS] [--recipe-blacklist RECIPE_BLACKLIST] [--blacklist-requirements BLACKLIST_REQUIREMENTS] [--bootstrap BOOTSTRAP] [--hook HOOK] [--force-build] [--no-force-build] [--require-perfect-match] [--no-require-perfect-match] [--allow-replace-dist] [--no-allow-replace-dist] [--local-recipes LOCAL_RECIPES] [--activity-class-name ACTIVITY_CLASS_NAME] [--service-class-name SERVICE_CLASS_NAME] [--java-build-tool {auto,ant,gradle}] [--copy-libs] [--no-copy-libs] [--add-asset ASSETS] [--add-resource RESOURCES] [--private PRIVATE] [--use-setup-py] [--ignore-setup-py] [--release] [--with-debug-symbols] [--keystore KEYSTORE] [--signkey SIGNKEY] [--keystorepw KEYSTOREPW] [--signkeypw SIGNKEYPW]options: -h, --help show this help message and exit --debug Display debug output and all build info --color {always,never,auto} Enable or disable color output (default enabled on tty) --sdk-dir SDK_DIR, --sdk_dir SDK_DIR The filepath where the Android SDK is installed --ndk-dir NDK_DIR, --ndk_dir NDK_DIR The filepath where the Android NDK is installed --android-api ANDROID_API, --android_api ANDROID_API The Android API level to build against defaults to 33 if not specified. --ndk-version NDK_VERSION, --ndk_version NDK_VERSION DEPRECATED: the NDK version is now found automatically or not at all. --ndk-api NDK_API The Android API level to compile against. This should be your minimal supported API, not normally the same as your --android-api. Defaults to min(ANDROID_API, 21) if not specified. --symlink-bootstrap-files, --ssymlink_bootstrap_files If True, symlinks the bootstrap files creation. This is useful for development only, it could also cause weird problems. --storage-dir STORAGE_DIR Primary storage directory for downloads and builds (default: ~/.python-for-android) --arch ARCH The archs to build for. --dist-name DIST_NAME, --dist_name DIST_NAME The name of the distribution to use or create --requirements REQUIREMENTS Dependencies of your app, should be recipe names or Python modules. NOT NECESSARY if you are using Python 3 with --use-setup-py --recipe-blacklist RECIPE_BLACKLIST Blacklist an internal recipe from use. Allows disabling Python 3 core modules to save size --blacklist-requirements BLACKLIST_REQUIREMENTS Blacklist an internal recipe from use. Allows disabling Python 3 core modules to save size --bootstrap BOOTSTRAP The bootstrap to build with. Leave unset to choose automatically. --hook HOOK Filename to a module that contains python-for-android hooks --local-recipes LOCAL_RECIPES, --local_recipes LOCAL_RECIPES Directory to look for local recipes --activity-class-name ACTIVITY_CLASS_NAME The full java class name of the main activity --service-class-name SERVICE_CLASS_NAME Full java package name of the PythonService class --java-build-tool {auto,ant,gradle} The java build tool to use when packaging the APK, defaults to automatically selecting an appropriate tool. --add-asset ASSETS Put this in the assets folder in the apk. --add-resource RESOURCES Put this in the res folder in the apk. --private PRIVATE the directory with the app source code files (containing your main.py entrypoint) --use-setup-py Process the setup.py of a project if present. (Experimental! --ignore-setup-py Don't run the setup.py of a project if present. This may be required if the setup.py is not designed to work inside p4a (e.g. by installing dependencies that won't work or aren't desired on Android --release Build your app as a non-debug release build. (Disables gdb debugging among other things) --with-debug-symbols Will keep debug symbols from
.so
files. --keystore KEYSTORE Keystore for JAR signing key, will use jarsigner default if not specified (release build only) --signkey SIGNKEY Key alias to sign PARSER_APK. with (release build only) --keystorepw KEYSTOREPW Password for keystore --signkeypw SIGNKEYPW Password for key aliasWhether to force compilation of a new distribution
--force-build --no-force-build (this is the default) --require-perfect-match --no-require-perfect-match (this is the default) --allow-replace-dist (this is the default) --no-allow-replace-dist --copy-libs --no-copy-libs (this is the default)
Check application requirements
Compile platform
Run ['/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/bin/python', '-m', 'pythonforandroid.toolchain', 'create', '--dist_name=kivy_test', '--bootstrap=sdl2', '--requirements=python3,kivy', '--arch=arm64-v8a', '--arch=armeabi-v7a', '--copy-libs', '--color=always', '--storage-dir=/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a', '--ndk-api=21', '--ignore-setup-py', '--debug']
Cwd /Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android
[WARNING]: prerequisites.py is experimental and does not support all prerequisites yet. [WARNING]: Please report any issues to the python-for-android issue tracker. [INFO]: Prerequisite homebrew is met [INFO]: Prerequisite autoconf is met [INFO]: Prerequisite automake is met [INFO]: Prerequisite libtool is met [INFO]: Prerequisite pkg-config is met [INFO]: Prerequisite cmake is met [INFO]: Prerequisite openssl is met [ERROR]: JDK version 22 is not supported [ERROR]: Prerequisite JDK is not met [INFO]: python-for-android requires a JDK 17 to be installed on macOS,but seems like you don't have one installed. [INFO]: If you think that a valid JDK is already installed, please verify that you have a JDK 17 installed and that
/usr/libexec/java_home
shows the correct path. [INFO]: If you have multiple JDK installations, please make sure that you haveJAVA_HOME
environment variable set to the correct JDK installation. [INFO]: python-for-android can automatically install prerequisite: JDK Do you want automatically install prerequisite JDK? [y/N] y [INFO]: Looking for a JDK 17 installation which is not the default one ... [INFO]: Found a valid JDK at /Users/phil/Library/Java/JavaVirtualMachines/jdk-17.0.2+8/Contents/Home [INFO]: Setting JAVA_HOME to /Users/phil/Library/Java/JavaVirtualMachines/jdk-17.0.2+8/Contents/Home [WARNING]: prerequisites.py is experimental and does not support all prerequisites yet. [WARNING]: Please report any issues to the python-for-android issue tracker.DEBUG: All possible dists: : Dist matching name and arch: : Dist matching ndk_api and recipe: [] [INFO]: No existing dists meet the given requirements! DEBUG: Remove directory and subdirectory /Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/kivy_test
DEBUG: Create directory /Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/kivy_test
DEBUG: -> running basename https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz
DEBUG: -> running basename https://github.com/libffi/libffi/archive/v3.4.2.tar.gz
DEBUG: -> running basename https://www.openssl.org/source/openssl-1.1.1w.tar.gz
DEBUG: -> running basename https://github.com/libsdl-org/SDL_image/releases/download/release-2.8.0/SDL2_image-2.8.0.tar.gz
DEBUG: -> running basename https://github.com/libsdl-org/SDL_mixer/releases/download/release-2.6.3/SDL2_mixer-2.6.3.tar.gz
DEBUG: -> running basename https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.20.2/SDL2_ttf-2.20.2.tar.gz
DEBUG: -> running basename https://www.sqlite.org/2021/sqlite-amalgamation-3350500.zip
DEBUG: -> running basename https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz
DEBUG: -> running basename https://github.com/libsdl-org/SDL/releases/download/release-2.28.5/SDL2-2.28.5.tar.gz
DEBUG: -> running basename https://pypi.python.org/packages/source/s/setuptools/setuptools-51.3.3.tar.gz
DEBUG: -> running basename https://pypi.python.org/packages/source/s/six/six-1.15.0.tar.gz
DEBUG: -> running basename https://github.com/kivy/pyjnius/archive/1.6.1.zip
[INFO]: -> directory context /Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/packages/kivy DEBUG: -> running basename https://github.com/kivy/kivy/archive/2.3.0.zip
DEBUG: -> running basename https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz
DEBUG: -> running basename https://github.com/libffi/libffi/archive/v3.4.2.tar.gz
DEBUG: -> running basename https://www.openssl.org/source/openssl-1.1.1w.tar.gz
DEBUG: -> running basename https://github.com/libsdl-org/SDL_image/releases/download/release-2.8.0/SDL2_image-2.8.0.tar.gz
DEBUG: -> running basename https://github.com/libsdl-org/SDL_mixer/releases/download/release-2.6.3/SDL2_mixer-2.6.3.tar.gz
DEBUG: -> running basename https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.20.2/SDL2_ttf-2.20.2.tar.gz
DEBUG: -> running basename https://www.sqlite.org/2021/sqlite-amalgamation-3350500.zip
DEBUG: -> running basename https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz
DEBUG: -> running basename https://github.com/libsdl-org/SDL/releases/download/release-2.28.5/SDL2-2.28.5.tar.gz
DEBUG: -> running basename https://pypi.python.org/packages/source/s/setuptools/setuptools-51.3.3.tar.gz
DEBUG: -> running basename https://pypi.python.org/packages/source/s/six/six-1.15.0.tar.gz
DEBUG: -> running basename https://github.com/kivy/pyjnius/archive/1.6.1.zip
[INFO]: <- directory context /Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android DEBUG: Remove directory and subdirectory /Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/android-sdl2/armeabi-v7andk_target_21/android DEBUG: -> running cp -a /Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/android/src /Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/android-sdl2/armeabi-v7andk_target_21/android [INFO]: Unpacking kivy for armeabi-v7a DEBUG: -> running basename https://github.com/kivy/kivy/archive/2.3.0.zip
DEBUG: -> running make -j 8 -C /Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build DEBUG: gcc -o Programs/_freeze_module Programs/_freeze_module.o Modules/getpath_noop.o Modules/getbuildinfo.o Parser/token.o Parser/pegen.o Parser/pegen_errors.o Parser/action_helpers.o Parser/parser.o Parser/string_parser.o Parser/peg_api.o Parser/myreadline.o Parser/tokenizer.o Objects/abstract.o Objects/accu.o Objects/boolobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/bytesobject.o Objects/call.o Objects/capsule.o Objects/cellobject.o Objects/classobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genericaliasobject.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/interpreteridobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/odictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/namespaceobject.o Objects/object.o Objects/obmalloc.o Objects/picklebufobject.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/unicodeobject.o Objects/unicodectype.o Objects/unionobject.o Objects/weakrefobject.o Python/_warnings.o Python/Python-ast.o Python/Python-tokenize.o Python/asdl.o Python/ast.o Python/ast_opt.o Python/ast_unparse.o Python/bltinmodule.o Python/ceval.o Python/codecs.o Python/compile.o Python/context.o Python/dynamic_annotations.o Python/errors.o Python/frame.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/hamt.o Python/hashtable.o Python/import.o Python/importdl.o Python/initconfig.o Python/marshal.o Python/modsupport.o Python/mysnprintf.o Python/mystrtoul.o Python/pathconfig.o Python/preconfig.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pyhash.o Python/pylifecycle.o Python/pymath.o Python/pystate.o Python/pythonrun.o Python/pytime.o Python/bootstrap_hash.o Python/specialize.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/thread.o Python/traceback.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/pystrhex.o Python/dtoa.o Python/formatter_unicode.o Python/fileutils.o Python/suggestions.o Python/dynload_shlib.o Modules/config.o Modules/main.o Modules/gcmodule.o Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_threadmodule.o Modules/timemodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Modules/pwdmodule.o Modules/xxsubtype.o -ldl -framework CoreFoundation DEBUG: rm -f Modules/_decimal/libmpdec/libmpdec.a DEBUG: rm -f Modules/expat/libexpat.a DEBUG: ar rcs Modules/expat/libexpat.a Modules/expat/xmlparse.o Modules/expat/xmlrole.o Modules/expat/xmltok.o DEBUG: ar rcs Modules/_decimal/libmpdec/libmpdec.a Modules/_decimal/libmpdec/basearith.o Modules/_decimal/libmpdec/constants.o Modules/_decimal/libmpdec/context.o Modules/_decimal/libmpdec/convolute.o Modules/_decimal/libmpdec/crt.o Modules/_decimal/libmpdec/difradix2.o Modules/_decimal/libmpdec/fnt.o Modules/_decimal/libmpdec/fourstep.o Modules/_decimal/libmpdec/io.o Modules/_decimal/libmpdec/mpalloc.o Modules/_decimal/libmpdec/mpdecimal.o Modules/_decimal/libmpdec/numbertheory.o Modules/_decimal/libmpdec/sixstep.o Modules/_decimal/libmpdec/transpose.o DEBUG: Undefined symbols for architecture arm64: DEBUG: "_libintl_bindtextdomain", referenced from: DEBUG: locale_bindtextdomain in _localemodule.o DEBUG: locale_bindtextdomain in _localemodule.o DEBUG: "_libintl_dcgettext", referenced from: DEBUG: locale_dcgettext in _localemodule.o DEBUG: "_libintl_dgettext", referenced from: DEBUG: locale_dgettext in _localemodule.o DEBUG: "_libintl_gettext", referenced from: DEBUG: locale_gettext in _localemodule.o DEBUG: "_libintl_setlocale", referenced from: DEBUG: locale_setlocale in _localemodule.o DEBUG: locale_setlocale in _localemodule.o DEBUG: locale_localeconv in _localemodule.o DEBUG: locale_localeconv in _localemodule.o DEBUG: locale_localeconv in _localemodule.o DEBUG: locale_localeconv in _localemodule.o DEBUG: "_libintl_textdomain", referenced from: DEBUG: locale_textdomain in _localemodule.o DEBUG: ld: symbol(s) not found for architecture arm64 DEBUG: clang: error: linker command failed with exit code 1 (use -v to see invocation) DEBUG: make: [Programs/_freeze_module] Error 1 Exception in thread background thread for pid 5934: Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/threading.py", line 1009, in _bootstrap_inner self.run() File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/threading.py", line 946, in run self._target(self._args, self._kwargs) File "/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/lib/python3.10/site-packages/sh.py", line 1641, in wrap fn(*rgs, **kwargs) File "/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/lib/python3.10/site-packages/sh.py", line 2569, in background_thread handle_exit_code(exit_code) File "/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/lib/python3.10/site-packages/sh.py", line 2269, in fn return self.command.handle_command_exit_code(exit_code) File "/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/lib/python3.10/site-packages/sh.py", line 869, in handle_command_exit_code raise exc sh.ErrorReturnCode_2:
RAN: /usr/bin/make -j 8 -C /Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build
STDOUT: gcc -o Programs/_freeze_module Programs/_freeze_module.o Modules/getpath_noop.o Modules/getbuildinfo.o Parser/token.o Parser/pegen.o Parser/pegen_errors.o Parser/action_helpers.o Parser/parser.o Parser/string_parser.o Parser/peg_api.o Parser/myreadline.o Parser/tokenizer.o Objects/abstract.o Objects/accu.o Objects/boolobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/bytesobject.o Objects/call.o Objects/capsule.o Objects/cellobject.o Objects/classobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genericaliasobject.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/interpreteridobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/odictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/namespaceobject.o Objects/object.o Objects/obmalloc.o Objects/picklebufobject.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/unicodeobject.o Objects/unicodectype.o Objects/unionobject.o Objects/weakrefobject.o Python/_warnings.o Python/Python-ast.o Python/Python-tokenize.o Python/asdl.o Python/ast.o Python/ast_opt.o Python/ast_unparse.o Python/bltinmodule.o Python/ceval.o Python/codecs.o Python/compile.o Python/context.o Python/dynamic_annotations.o Python/errors.o Python/frame.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/hamt.o Python/hashtable.o Python/import.o Python/importdl.o Python/initconfig.o Python/marshal.o Python/modsupport.o Python/mysnprintf.o Python/mystrtoul.o Python/pathconfig.o Python/preconfig.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pyhash.o Python/pylifecycle.o Python/pymath.o Python/pystate.o Python/pythonrun.o Python/pytime.o Python/bootstrap_hash.o Python/specialize.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/thread.o Python/traceback.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/pystrhex.o Python/dtoa.o Python/formatter_unicode.o Python/fileutils.o Python/suggestions.o Python/dynload_shlib.o Modules/config.o Modules/main.o Modules/gcmodule.o Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_threadmodule.o Modules/timemodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Modules/pwdmodule.o Modules/xxsubtype.o -ldl -framework CoreFoundation
rm -f Modules/_decimal/libmpdec/libmpdec.a rm -f Modules/expat/libexpat.a ar rcs Modules/expat/libexpat.a Modules/expat/xmlparse.o Modules/expat/xmlrole.o Modules/expat/xmltok.o ar rcs Modules/_decimal/libmpdec/libmpdec.a Modules/_decimal/libmpdec/basearith.o Modules/_decimal/libmpdec/constants.o Modules/_decimal/libmpdec/context.o Modules/_decimal/libmpdec/convolute.o Modules/_decimal/libmpdec/crt.o Modules/_decimal/libmpdec/difradix2.o Modules/_decimal/libmpdec/fnt.o Modules/_decimal/libmpdec/fourstep.o Modules/_decimal/libmpdec/io.o Modules/_decimal/libmpdec/mpalloc.o Modules/_decimal/libmpdec/mpdecimal.o Modules/_decimal/libmpdec/numbertheory.o Modules/_decimal/libmpdec/sixstep.o Modules/_decimal/libmpdec/transpose.o Undefined symbols for architecture arm64: "_libintl_bindtextdomain", referenced from: locale_bindtextdomain in _localemodule.o locale_bindtextdomain in _localemodule.o "_libintl_dcgettext", referenced from: locale_dcgettext in _localemodule.o "_libintl_dgettext", referenced from: locale_dgettext in _localemodule.o "_libintl_gettext", referenced from: locale_gettext in _localemodule.o "_libintl_setlocale", referenced from: locale_setlocale in _localemodule.o locale_setlocale in _localemodule.o locale_localeconv in _localemodule.o locale_localeconv in _localemodule.o locale_localeconv in _localemodule.o locale_localeconv in _localemodule.o "_libintl_textdomain", referenced from: locale_textdomain in _localemodule.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [Programs/_freeze_module] Error 1
STDERR:
Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/runpy.py", line 86, in _run_code exec(code, run_globals) File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1256, in
main()
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/entrypoints.py", line 18, in main
ToolchainCL()
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 685, in init
getattr(self, command)(args)
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 104, in wrapper_func
build_dist_from_args(ctx, dist, args)
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 163, in build_dist_from_args
build_recipes(build_order, python_modules, ctx,
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 504, in build_recipes
recipe.build_arch(arch)
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/recipes/hostpython3/init.py", line 128, in build_arch
shprint(sh.make, '-j', str(cpu_count()), '-C', build_dir, _env=env)
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/python-for-android/pythonforandroid/logger.py", line 167, in shprint
for line in output:
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/lib/python3.10/site-packages/sh.py", line 915, in next
self.wait()
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/lib/python3.10/site-packages/sh.py", line 845, in wait
self.handle_command_exit_code(exit_code)
File "/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/lib/python3.10/site-packages/sh.py", line 869, in handle_command_exit_code
raise exc
sh.ErrorReturnCode_2:
RAN: /usr/bin/make -j 8 -C /Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/other_builds/hostpython3/desktop/hostpython3/native-build
STDOUT: gcc -o Programs/_freeze_module Programs/_freeze_module.o Modules/getpath_noop.o Modules/getbuildinfo.o Parser/token.o Parser/pegen.o Parser/pegen_errors.o Parser/action_helpers.o Parser/parser.o Parser/string_parser.o Parser/peg_api.o Parser/myreadline.o Parser/tokenizer.o Objects/abstract.o Objects/accu.o Objects/boolobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/bytesobject.o Objects/call.o Objects/capsule.o Objects/cellobject.o Objects/classobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genericaliasobject.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/interpreteridobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/odictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/namespaceobject.o Objects/object.o Objects/obmalloc.o Objects/picklebufobject.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/unicodeobject.o Objects/unicodectype.o Objects/unionobject.o Objects/weakrefobject.o Python/_warnings.o Python/Python-ast.o Python/Python-tokenize.o Python/asdl.o Python/ast.o Python/ast_opt.o Python/ast_unparse.o Python/bltinmodule.o Python/ceval.o Python/codecs.o Python/compile.o Python/context.o Python/dynamic_annotations.o Python/errors.o Python/frame.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/hamt.o Python/hashtable.o Python/import.o Python/importdl.o Python/initconfig.o Python/marshal.o Python/modsupport.o Python/mysnprintf.o Python/mystrtoul.o Python/pathconfig.o Python/preconfig.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pyhash.o Python/pylifecycle.o Python/pymath.o Python/pystate.o Python/pythonrun.o Python/pytime.o Python/bootstrap_hash.o Python/specialize.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/thread.o Python/traceback.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/pystrhex.o Python/dtoa.o Python/formatter_unicode.o Python/fileutils.o Python/suggestions.o Python/dynload_shlib.o Modules/config.o Modules/main.o Modules/gcmodule.o Modules/atexitmodule.o Modules/faulthandler.o Modules/posixmodule.o Modules/signalmodule.o Modules/_tracemalloc.o Modules/_codecsmodule.o Modules/_collectionsmodule.o Modules/errnomodule.o Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o Modules/itertoolsmodule.o Modules/_sre/sre.o Modules/_threadmodule.o Modules/timemodule.o Modules/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Modules/pwdmodule.o Modules/xxsubtype.o -ldl -framework CoreFoundation
rm -f Modules/_decimal/libmpdec/libmpdec.a rm -f Modules/expat/libexpat.a ar rcs Modules/expat/libexpat.a Modules/expat/xmlparse.o Modules/expat/xmlrole.o Modules/expat/xmltok.o ar rcs Modules/_decimal/libmpdec/libmpdec.a Modules/_decimal/libmpdec/basearith.o Modules/_decimal/libmpdec/constants.o Modules/_decimal/libmpdec/context.o Modules/_decimal/libmpdec/convolute.o Modules/_decimal/libmpdec/crt.o Modules/_decimal/libmpdec/difradix2.o Modules/_decimal/libmpdec/fnt.o Modules/_decimal/libmpdec/fourstep.o Modules/_decimal/libmpdec/io.o Modules/_decimal/libmpdec/mpalloc.o Modules/_decimal/libmpdec/mpdecimal.o Modules/_decimal/libmpdec/numbertheory.o Modules/_decimal/libmpdec/sixstep.o Modules/_decimal/libmpdec/transpose.o Undefined symbols for architecture arm64: "_libintl_bindtextdomain", referenced from: locale_bindtextdomain in _localemodule.o locale_bindtextdomain in _localemodule.o "_libintl_dcgettext", referenced from: locale_dcgettext in _localemodule.o "_libintl_dgettext", referenced from: locale_dgettext in _localemodule.o "_libintl_gettext", referenced from: locale_gettext in _localemodule.o "_libintl_setlocale", referenced from: locale_setlocale in _localemodule.o locale_setlocale in _localemodule.o locale_localeconv in _localemodule.o locale_localeconv in _localemodule.o locale_localeconv in _localemodule.o locale_localeconv in _localemodule.o "_libintl_textdomain", referenced from: locale_textdomain in _localemodule.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [Programs/_freeze_module] Error 1
STDERR:
Command failed: ['/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/bin/python', '-m', 'pythonforandroid.toolchain', 'create', '--dist_name=kivy_test', '--bootstrap=sdl2', '--requirements=python3,kivy', '--arch=arm64-v8a', '--arch=armeabi-v7a', '--copy-libs', '--color=always', '--storage-dir=/Users/phil/PycharmProjects/pythonProject/kivi_test/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a', '--ndk-api=21', '--ignore-setup-py', '--debug']
ENVIRONMENT:
PATH = '/Users/phil/.buildozer/android/platform/apache-ant-1.9.4/bin:/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/bin:/usr/local/bin:/usr/local/sbin:/Library/Frameworks/Python.framework/Versions/3.10/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin'
__CFBundleIdentifier = 'com.jetbrains.pycharm.ce'
SHELL = '/bin/zsh'
TERM = 'xterm-256color'
USER = 'phil'
TMPDIR = '/var/folders/t1/_d2nbx0n4f9_8d611bm2ssd80000gn/T/'
COMMAND_MODE = 'unix2003'
TERMINAL_EMULATOR = 'JetBrains-JediTerm'
LOGIN_SHELL = '1'
INTELLIJ_COMMAND_HISTFILE = '/Users/phil/Library/Caches/JetBrains/PyCharmCE2022.1/terminal/history/kivi_test-history'
SSH_AUTH_SOCK = '/private/tmp/com.apple.launchd.7To1NEQUZB/Listeners'
XPC_FLAGS = '0x0'
TERM_SESSION_ID = 'b338d38c-187f-4187-a301-f615d26b5d8f'
__CF_USER_TEXT_ENCODING = '0x1F5:0x0:0x1'
LOGNAME = 'phil'
LC_CTYPE = 'fr_FR.UTF-8'
XPC_SERVICE_NAME = '0'
HOME = '/Users/phil'
SHLVL = '1'
PWD = '/Users/phil/PycharmProjects/pythonProject/kivi_test'
OLDPWD = '/Users/phil/PycharmProjects/pythonProject/kivi_test'
HOMEBREW_PREFIX = '/usr/local'
HOMEBREW_CELLAR = '/usr/local/Cellar'
HOMEBREW_REPOSITORY = '/usr/local/Homebrew'
MANPATH = '/usr/local/share/man::'
INFOPATH = '/usr/local/share/info:'
VIRTUAL_ENV = '/Users/phil/PycharmProjects/pythonProject/kivi_test/venv'
PS1 = '(venv) %n@%m %1~ %# '
_ = '/Users/phil/PycharmProjects/pythonProject/kivi_test/venv/bin/buildozer'
PACKAGES_PATH = '/Users/phil/.buildozer/android/packages'
ANDROIDSDK = '/Users/phil/.buildozer/android/platform/android-sdk'
ANDROIDNDK = '/Users/phil/.buildozer/android/platform/android-ndk-r25b'
ANDROIDAPI = '31'
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
(venv) phil@Mac-mini-de-phil kivi_test % ~
zsh: permission denied: /Users/phil (venv) phil@Mac-mini-de-phil kivi_test %