From 7e0faa8a69dc3d2037b7502623f72c38930a2052 Mon Sep 17 00:00:00 2001 From: Shyamnath Premnadh Date: Mon, 11 Mar 2024 16:40:57 +0100 Subject: [PATCH 1/2] Qt lib.xml - add placeholder for bundled_libs --- .../bootstraps/qt/build/templates/libs.tmpl.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pythonforandroid/bootstraps/qt/build/templates/libs.tmpl.xml b/pythonforandroid/bootstraps/qt/build/templates/libs.tmpl.xml index d423f4152b..9093aa6f84 100644 --- a/pythonforandroid/bootstraps/qt/build/templates/libs.tmpl.xml +++ b/pythonforandroid/bootstraps/qt/build/templates/libs.tmpl.xml @@ -1,5 +1,13 @@ + + + + + {{ arch }};c++_shared {%- for qt_lib in qt_libs %} From 2bc35d6b01ea1ae3cd3287cc60daff9bb42ac5fd Mon Sep 17 00:00:00 2001 From: Shyamnath Premnadh Date: Mon, 11 Mar 2024 17:16:49 +0100 Subject: [PATCH 2/2] Qt Bootstrap: Set environment variables - remove QtNative.setEnvironmentVariable in favour of the Java API. - This removes the dependency on QtNative. --- .../java/org/kivy/android/PythonActivity.java | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/pythonforandroid/bootstraps/qt/build/src/main/java/org/kivy/android/PythonActivity.java b/pythonforandroid/bootstraps/qt/build/src/main/java/org/kivy/android/PythonActivity.java index 81cad01616..169fd323bf 100644 --- a/pythonforandroid/bootstraps/qt/build/src/main/java/org/kivy/android/PythonActivity.java +++ b/pythonforandroid/bootstraps/qt/build/src/main/java/org/kivy/android/PythonActivity.java @@ -21,7 +21,6 @@ import android.content.pm.PackageManager; import org.qtproject.qt.android.bindings.QtActivity; -import org.qtproject.qt.android.QtNative; public class PythonActivity extends QtActivity { @@ -52,6 +51,18 @@ public String getEntryPoint(String search_dir) { return "main.py"; } + public void setEnvironmentVariable(String key, String value) { + /** + * Sets an environment variable based on key/value. + **/ + try { + android.system.Os.setenv(key, value, true); + } catch (Exception e) { + Log.e("Qt bootstrap", "Unable set environment variable:" + key + "=" + value); + e.printStackTrace(); + } + } + @Override public void onCreate(Bundle savedInstanceState) { this.mActivity = this; @@ -69,14 +80,14 @@ public void onCreate(Bundle savedInstanceState) { String entry_point = getEntryPoint(app_root_dir); Log.v(TAG, "Setting env vars for start.c and Python to use"); - QtNative.setEnvironmentVariable("ANDROID_ENTRYPOINT", entry_point); - QtNative.setEnvironmentVariable("ANDROID_ARGUMENT", app_root_dir); - QtNative.setEnvironmentVariable("ANDROID_APP_PATH", app_root_dir); - QtNative.setEnvironmentVariable("ANDROID_PRIVATE", mFilesDirectory); - QtNative.setEnvironmentVariable("ANDROID_UNPACK", app_root_dir); - QtNative.setEnvironmentVariable("PYTHONHOME", app_root_dir); - QtNative.setEnvironmentVariable("PYTHONPATH", app_root_dir + ":" + app_root_dir + "/lib"); - QtNative.setEnvironmentVariable("PYTHONOPTIMIZE", "2"); + setEnvironmentVariable("ANDROID_ENTRYPOINT", entry_point); + setEnvironmentVariable("ANDROID_ARGUMENT", app_root_dir); + setEnvironmentVariable("ANDROID_APP_PATH", app_root_dir); + setEnvironmentVariable("ANDROID_PRIVATE", mFilesDirectory); + setEnvironmentVariable("ANDROID_UNPACK", app_root_dir); + setEnvironmentVariable("PYTHONHOME", app_root_dir); + setEnvironmentVariable("PYTHONPATH", app_root_dir + ":" + app_root_dir + "/lib"); + setEnvironmentVariable("PYTHONOPTIMIZE", "2"); Log.v(TAG, "About to do super onCreate"); super.onCreate(savedInstanceState);