From 4992c7409117141754b9d9ea89dd1b4aedd901d9 Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Mon, 18 Dec 2023 15:19:24 +0200 Subject: [PATCH] Android: fix order of calling setApplicationState() in QtServiceBase In QtServiceBase setApplicationState() is being called before the Qt libs are loaded and that call invokes a native method, so that leads to a crash/exception for UnsatisfiedLinkError. Change-Id: I879d120f0cc2985ab49f7402a65f171950451914 Reviewed-by: Petri Virkkunen Reviewed-by: Janne Juntunen Reviewed-by: Assam Boudjelthia (cherry picked from commit f292a669042df26d372985b16d4ab50ea6d4dca5) Reviewed-by: Qt Cherry-pick Bot --- .../jar/src/org/qtproject/qt/android/QtServiceBase.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/android/jar/src/org/qtproject/qt/android/QtServiceBase.java b/src/android/jar/src/org/qtproject/qt/android/QtServiceBase.java index 33636ae93bf..f0370a2d8a0 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtServiceBase.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtServiceBase.java @@ -14,8 +14,6 @@ public class QtServiceBase extends Service { { super.onCreate(); - QtNative.setApplicationState(QtNative.ApplicationState.ApplicationHidden); - // the application has already started, do not reload everything again if (QtNative.getStateDetails().isStarted) { Log.w(QtNative.QtTAG, @@ -30,6 +28,7 @@ public class QtServiceBase extends Service { QtServiceLoader loader = new QtServiceLoader(this); loader.loadQtLibraries(); QtNative.startApplication(loader.getApplicationParameters(), loader.getMainLibrary()); + QtNative.setApplicationState(QtNative.ApplicationState.ApplicationHidden); } @Override