From 1d8026be3cc2caabc51610e2ed7af21b54d3400c Mon Sep 17 00:00:00 2001 From: lanmao Date: Fri, 1 May 2026 15:34:33 +0800 Subject: [PATCH] Fix android recipe linking with Qt bootstrap --- pythonforandroid/recipes/android/__init__.py | 7 ++++++- pythonforandroid/recipes/android/src/setup.py | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pythonforandroid/recipes/android/__init__.py b/pythonforandroid/recipes/android/__init__.py index c6c15ec04a..fcf2c069ba 100644 --- a/pythonforandroid/recipes/android/__init__.py +++ b/pythonforandroid/recipes/android/__init__.py @@ -20,6 +20,10 @@ class AndroidRecipe(IncludedFilesBehaviour, PyProjectRecipe): def get_recipe_env(self, arch, **kwargs): env = super().get_recipe_env(arch, **kwargs) env.update(self.config_env) + + if self.ctx.bootstrap.name == "qt": + env['ANDROID_MAIN_LIB'] = f'main_{arch.arch}' + return env def prebuild_arch(self, arch): @@ -50,8 +54,9 @@ def prebuild_arch(self, arch): 'IS_SDL2': int(bootstrap_name == "sdl2"), 'IS_SDL3': int(bootstrap_name == "sdl3"), 'PY2': 0, - 'ANDROID_LIBS_DIR': "{}:{}".format( + 'ANDROID_LIBS_DIR': "{}:{}:{}".format( self.ctx.get_libs_dir(arch.arch), + join(self.ctx.bootstrap.build_dir, 'libs', arch.arch), join(self.ctx.bootstrap.build_dir, 'obj', 'local', arch.arch) ), 'JAVA_NAMESPACE': java_ns, diff --git a/pythonforandroid/recipes/android/src/setup.py b/pythonforandroid/recipes/android/src/setup.py index 8182ba9c58..030f5fb126 100755 --- a/pythonforandroid/recipes/android/src/setup.py +++ b/pythonforandroid/recipes/android/src/setup.py @@ -7,7 +7,10 @@ 'sdl2': ['SDL2', 'SDL2_image', 'SDL2_mixer', 'SDL2_ttf'], 'sdl3': ['SDL3', 'SDL3_image', 'SDL3_mixer', 'SDL3_ttf'], } -sdl_libs = lib_dict.get(os.environ['BOOTSTRAP'], ['main']) +sdl_libs = lib_dict.get( + os.environ['BOOTSTRAP'], + [os.environ.get('ANDROID_MAIN_LIB', 'main')] +) modules = [ Extension('android._android',