Qt6.8.2 on Android 15: 200+ java W/System.err when deploy using Qt Creator
-
Greetings,
Context: I am using C++ code with Qt for creating a software to be run on desktop (Windows and Linux), and using Qt Creator for Android device.
With Qt Creator, I was able to build and deployed on Android devices with Qt 5.15.5 and Qt 5.15.11.
However, using Qt 6.8.2, the build will be successful (i.e. apk file will be created), but when trying to deploy on the Android device, there are many Java error messages showing up in logcat.
When I write "meany", I mean 2565 W/System.err, 36 E/AndroidRuntime, and 41 E/ace.[name-of-app] messages.I am giving below an example of the error messages by providing the first and last ~100 lines:
E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied W/System.err: java.lang.NoSuchFieldException: mShape W/System.err: at java.lang.Class.getField(Class.java:2327) W/System.err: at org.qtproject.qt.android.ExtractStyle.getGradientDrawable(ExtractStyle.java:480) W/System.err: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:826) W/System.err: at org.qtproject.qt.android.ExtractStyle.getLayerDrawable(ExtractStyle.java:429) W/System.err: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:820) W/System.err: at org.qtproject.qt.android.ExtractStyle.extractWindow(ExtractStyle.java:1780) W/System.err: at org.qtproject.qt.android.ExtractStyle.<init>(ExtractStyle.java:231) W/System.err: at org.qtproject.qt.android.ExtractStyle.runIfNeeded(ExtractStyle.java:197) W/System.err: at org.qtproject.qt.android.ExtractStyle.setup(ExtractStyle.java:187) W/System.err: at org.qtproject.qt.android.QtActivityLoader.setupStyleExtraction(QtActivityLoader.java:72) W/System.err: at org.qtproject.qt.android.QtActivityLoader.extractContextMetaData(QtActivityLoader.java:84) W/System.err: at org.qtproject.qt.android.QtActivityLoader.<init>(QtActivityLoader.java:31) W/System.err: at org.qtproject.qt.android.QtActivityLoader.getActivityLoader(QtActivityLoader.java:36) W/System.err: at org.qtproject.qt.android.QtActivityBase.onCreate(QtActivityBase.java:111) W/System.err: at org.qtproject.qt.android.bindings.QtActivity.onCreate(QtActivity.java:16) W/System.err: at android.app.Activity.performCreate(Activity.java:9363) W/System.err: at android.app.Activity.performCreate(Activity.java:9332) W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1526) W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4440) W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4689) W/System.err: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:112) W/System.err: at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:174) W/System.err: at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:109) W/System.err: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81) W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2899) W/System.err: at android.os.Handler.dispatchMessage(Handler.java:107) W/System.err: at android.os.Looper.loopOnce(Looper.java:257) W/System.err: at android.os.Looper.loop(Looper.java:342) W/System.err: at android.app.ActivityThread.main(ActivityThread.java:9638) W/System.err: at java.lang.reflect.Method.invoke(Native Method) W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619) W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929) W/System.err: java.lang.NoSuchMethodException: android.graphics.drawable.BitmapDrawable.getTintMode [] W/System.err: at java.lang.Class.getMethod(Class.java:2940) W/System.err: at java.lang.Class.getMethod(Class.java:2440) W/System.err: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:798) W/System.err: at org.qtproject.qt.android.ExtractStyle.getLayerDrawable(ExtractStyle.java:429) W/System.err: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:820) W/System.err: at org.qtproject.qt.android.ExtractStyle.extractWindow(ExtractStyle.java:1780) W/System.err: at org.qtproject.qt.android.ExtractStyle.<init>(ExtractStyle.java:231) W/System.err: at org.qtproject.qt.android.ExtractStyle.runIfNeeded(ExtractStyle.java:197) W/System.err: at org.qtproject.qt.android.ExtractStyle.setup(ExtractStyle.java:187) W/System.err: at org.qtproject.qt.android.QtActivityLoader.setupStyleExtraction(QtActivityLoader.java:72) W/System.err: at org.qtproject.qt.android.QtActivityLoader.extractContextMetaData(QtActivityLoader.java:84) W/System.err: at org.qtproject.qt.android.QtActivityLoader.<init>(QtActivityLoader.java:31) W/System.err: at org.qtproject.qt.android.QtActivityLoader.getActivityLoader(QtActivityLoader.java:36) W/System.err: at org.qtproject.qt.android.QtActivityBase.onCreate(QtActivityBase.java:111) W/System.err: at org.qtproject.qt.android.bindings.QtActivity.onCreate(QtActivity.java:16) W/System.err: at android.app.Activity.performCreate(Activity.java:9363) W/System.err: at android.app.Activity.performCreate(Activity.java:9332) W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1526) W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4440) W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4689) W/System.err: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:112) W/System.err: at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:174) W/System.err: at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:109) W/System.err: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81) W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2899) W/System.err: at android.os.Handler.dispatchMessage(Handler.java:107) W/System.err: at android.os.Looper.loopOnce(Looper.java:257) W/System.err: at android.os.Looper.loop(Looper.java:342) W/System.err: at android.app.ActivityThread.main(ActivityThread.java:9638) W/System.err: at java.lang.reflect.Method.invoke(Native Method) W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619) W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929) [...] E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/AnimatedStateListDrawable;->mState:Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState; (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied W/System.err: java.lang.NoSuchFieldException: No field mState in class Landroid/graphics/drawable/AnimatedStateListDrawable; (declaration of 'android.graphics.drawable.AnimatedStateListDrawable' appears in /system/framework/framework.jar) W/System.err: at java.lang.Class.getDeclaredField(Native Method) W/System.err: at org.qtproject.qt.android.ExtractStyle.getAccessibleField(ExtractStyle.java:297) W/System.err: at org.qtproject.qt.android.ExtractStyle.getAnimatedStateListDrawable(ExtractStyle.java:655) W/System.err: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:811) W/System.err: at org.qtproject.qt.android.ExtractStyle.extractAbsSeekBar(ExtractStyle.java:1504) W/System.err: at org.qtproject.qt.android.ExtractStyle.<init>(ExtractStyle.java:238) W/System.err: at org.qtproject.qt.android.ExtractStyle.runIfNeeded(ExtractStyle.java:197) W/System.err: at org.qtproject.qt.android.ExtractStyle.setup(ExtractStyle.java:187) W/System.err: at org.qtproject.qt.android.QtActivityLoader.setupStyleExtraction(QtActivityLoader.java:72) W/System.err: at org.qtproject.qt.android.QtActivityLoader.extractContextMetaData(QtActivityLoader.java:84) W/System.err: at org.qtproject.qt.android.QtActivityLoader.<init>(QtActivityLoader.java:31) W/System.err: at org.qtproject.qt.android.QtActivityLoader.getActivityLoader(QtActivityLoader.java:36) W/System.err: at org.qtproject.qt.android.QtActivityBase.onCreate(QtActivityBase.java:111) W/System.err: at org.qtproject.qt.android.bindings.QtActivity.onCreate(QtActivity.java:16) W/System.err: at android.app.Activity.performCreate(Activity.java:9363) W/System.err: at android.app.Activity.performCreate(Activity.java:9332) W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1526) W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4440) W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4689) W/System.err: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:112) W/System.err: at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:174) W/System.err: at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:109) W/System.err: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81) W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2899) W/System.err: at android.os.Handler.dispatchMessage(Handler.java:107) W/System.err: at android.os.Looper.loopOnce(Looper.java:257) W/System.err: at android.os.Looper.loop(Looper.java:342) W/System.err: at android.app.ActivityThread.main(ActivityThread.java:9638) W/System.err: at java.lang.reflect.Method.invoke(Native Method) W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619) W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929) W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.lang.reflect.Field.get(java.lang.Object)' on a null object reference W/System.err: at org.qtproject.qt.android.ExtractStyle.getAnimatedStateListDrawable(ExtractStyle.java:655) W/System.err: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:811) W/System.err: at org.qtproject.qt.android.ExtractStyle.extractAbsSeekBar(ExtractStyle.java:1504) W/System.err: at org.qtproject.qt.android.ExtractStyle.<init>(ExtractStyle.java:238) W/System.err: at org.qtproject.qt.android.ExtractStyle.runIfNeeded(ExtractStyle.java:197) W/System.err: at org.qtproject.qt.android.ExtractStyle.setup(ExtractStyle.java:187) W/System.err: at org.qtproject.qt.android.QtActivityLoader.setupStyleExtraction(QtActivityLoader.java:72) W/System.err: at org.qtproject.qt.android.QtActivityLoader.extractContextMetaData(QtActivityLoader.java:84) W/System.err: at org.qtproject.qt.android.QtActivityLoader.<init>(QtActivityLoader.java:31) W/System.err: at org.qtproject.qt.android.QtActivityLoader.getActivityLoader(QtActivityLoader.java:36) W/System.err: at org.qtproject.qt.android.QtActivityBase.onCreate(QtActivityBase.java:111) W/System.err: at org.qtproject.qt.android.bindings.QtActivity.onCreate(QtActivity.java:16) W/System.err: at android.app.Activity.performCreate(Activity.java:9363) W/System.err: at android.app.Activity.performCreate(Activity.java:9332) W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1526) W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4440) W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4689) W/System.err: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:112) W/System.err: at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:174) W/System.err: at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:109) W/System.err: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81) W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2899) W/System.err: at android.os.Handler.dispatchMessage(Handler.java:107) W/System.err: at android.os.Looper.loopOnce(Looper.java:257) W/System.err: at android.os.Looper.loop(Looper.java:342) W/System.err: at android.app.ActivityThread.main(ActivityThread.java:9638) W/System.err: at java.lang.reflect.Method.invoke(Native Method) W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619) W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929) E/ace.apromaceMES: No implementation found for int[] org.qtproject.qt.android.ExtractStyle.extractNativeChunkInfo20(long) (tried Java_org_qtproject_qt_android_ExtractStyle_extractNativeChunkInfo20 and Java_org_qtproject_qt_android_ExtractStyle_extractNativeChunkInfo20__J) - is the library loaded, e.g. System.loadLibrary? D/AndroidRuntime: Shutting down VM E/AndroidRuntime: FATAL EXCEPTION: main E/AndroidRuntime: Process: de.apromace.apromaceMES, PID: 12502 E/AndroidRuntime: java.lang.UnsatisfiedLinkError: No implementation found for int[] org.qtproject.qt.android.ExtractStyle.extractNativeChunkInfo20(long) (tried Java_org_qtproject_qt_android_ExtractStyle_extractNativeChunkInfo20 and Java_org_qtproject_qt_android_ExtractStyle_extractNativeChunkInfo20__J) - is the library loaded, e.g. System.loadLibrary? E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.extractNativeChunkInfo20(Native Method) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.findPatchesMarings(ExtractStyle.java:596) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:906) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.getStateListDrawable(ExtractStyle.java:460) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.getAnimatedStateListDrawable(ExtractStyle.java:652) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:811) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.extractSwitch(ExtractStyle.java:1534) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.<init>(ExtractStyle.java:239) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.runIfNeeded(ExtractStyle.java:197) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.setup(ExtractStyle.java:187) E/AndroidRuntime: at org.qtproject.qt.android.QtActivityLoader.setupStyleExtraction(QtActivityLoader.java:72) E/AndroidRuntime: at org.qtproject.qt.android.QtActivityLoader.extractContextMetaData(QtActivityLoader.java:84) E/AndroidRuntime: at org.qtproject.qt.android.QtActivityLoader.<init>(QtActivityLoader.java:31) E/AndroidRuntime: at org.qtproject.qt.android.QtActivityLoader.getActivityLoader(QtActivityLoader.java:36) E/AndroidRuntime: at org.qtproject.qt.android.QtActivityBase.onCreate(QtActivityBase.java:111) E/AndroidRuntime: at org.qtproject.qt.android.bindings.QtActivity.onCreate(QtActivity.java:16) E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:9363) E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:9332) E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1526) E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4440) E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4689) E/AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:112) E/AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:174) E/AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:109) E/AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81) E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2899) E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:107) E/AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:257) E/AndroidRuntime: at android.os.Looper.loop(Looper.java:342) E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:9638) E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619) E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)
Some of the error messages are related to restrictions on non-SDK interfaces, i.e. "hiddenapi: Accessing hidden field [...] using reflection: denied". I have seen it reported elsewhere,
- https://bugreports.qt.io/browse/QTBUG-71590
- https://forum.qt.io/topic/96287/qt-5-11-2-is-using-non-sdk-interfaces-will-be-blocked-by-android
- https://forum.qt.io/topic/94193/api-warning-when-launching-on-android-9
I am aware that it is possible to enable access to non-SDK interfaces:
https://developer.android.com/guide/app-compatibility/restrictions-non-sdk-interfaces#how_can_i_enable_access_to_non-sdk_interfacesIndeed, using the command << adb shell settings put global hidden_api_policy 0 >> would remove the "hiddenapi: Accessing hidden field [...] using reflection: denied" errors.
However, I still end up with 1440 W/System.err messages, and 36 E/AndroidRuntime, and 1 E/ace.[name-of-app].In both case, enabling or not access to non-SDK interfaces, the app will crash upon the first start, and will be working at the second try of starting the app. However, the display will not be what it is supposed to be (i.e. not as when building the app using Qt5.15.[5/11]).
Following the solution of user MarcoDC in the following post (https://forum.qt.io/topic/115072/qt-5-14-2-android-application-crashed-why?_=1756383732732), in AndroidManifest, I have changed "Style extraction" from "default" to "none", and I have no error message upon deployment, and the app is starting and working on first try. The same if I change "Style extraction" from "default" to "minimal".
However, this workaround is having an impact on the display (i.e. colors, font, background,...), so this is not a solution for me.If someone could give me any information or hint on how to fix this issue, that would be very much appreciated.
I am using,
- Qt Creator v17.0.1 on Ubuntu 24.04.3 LTS
- build of Qt 6.8.2 with NDK v27.2.12479018, and NDK v27.2.12479018 is being used in Qt Creator
- The target device is Galaxy Android v15 (with One UI v7.0), but the problem also did show up on a Android 16 (Pixel 7)
- Android build tool version: 35.0.1
- Android build platform: android-35
- In build.gradle, minSdkVersion=34 and targetSdkVersion=35
- using arm64-v8a
- OpenJDK 17
If I should provide additional information that could help, just let me know.
-
Greetings,
Context: I am using C++ code with Qt for creating a software to be run on desktop (Windows and Linux), and using Qt Creator for Android device.
With Qt Creator, I was able to build and deployed on Android devices with Qt 5.15.5 and Qt 5.15.11.
However, using Qt 6.8.2, the build will be successful (i.e. apk file will be created), but when trying to deploy on the Android device, there are many Java error messages showing up in logcat.
When I write "meany", I mean 2565 W/System.err, 36 E/AndroidRuntime, and 41 E/ace.[name-of-app] messages.I am giving below an example of the error messages by providing the first and last ~100 lines:
E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied W/System.err: java.lang.NoSuchFieldException: mShape W/System.err: at java.lang.Class.getField(Class.java:2327) W/System.err: at org.qtproject.qt.android.ExtractStyle.getGradientDrawable(ExtractStyle.java:480) W/System.err: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:826) W/System.err: at org.qtproject.qt.android.ExtractStyle.getLayerDrawable(ExtractStyle.java:429) W/System.err: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:820) W/System.err: at org.qtproject.qt.android.ExtractStyle.extractWindow(ExtractStyle.java:1780) W/System.err: at org.qtproject.qt.android.ExtractStyle.<init>(ExtractStyle.java:231) W/System.err: at org.qtproject.qt.android.ExtractStyle.runIfNeeded(ExtractStyle.java:197) W/System.err: at org.qtproject.qt.android.ExtractStyle.setup(ExtractStyle.java:187) W/System.err: at org.qtproject.qt.android.QtActivityLoader.setupStyleExtraction(QtActivityLoader.java:72) W/System.err: at org.qtproject.qt.android.QtActivityLoader.extractContextMetaData(QtActivityLoader.java:84) W/System.err: at org.qtproject.qt.android.QtActivityLoader.<init>(QtActivityLoader.java:31) W/System.err: at org.qtproject.qt.android.QtActivityLoader.getActivityLoader(QtActivityLoader.java:36) W/System.err: at org.qtproject.qt.android.QtActivityBase.onCreate(QtActivityBase.java:111) W/System.err: at org.qtproject.qt.android.bindings.QtActivity.onCreate(QtActivity.java:16) W/System.err: at android.app.Activity.performCreate(Activity.java:9363) W/System.err: at android.app.Activity.performCreate(Activity.java:9332) W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1526) W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4440) W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4689) W/System.err: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:112) W/System.err: at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:174) W/System.err: at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:109) W/System.err: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81) W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2899) W/System.err: at android.os.Handler.dispatchMessage(Handler.java:107) W/System.err: at android.os.Looper.loopOnce(Looper.java:257) W/System.err: at android.os.Looper.loop(Looper.java:342) W/System.err: at android.app.ActivityThread.main(ActivityThread.java:9638) W/System.err: at java.lang.reflect.Method.invoke(Native Method) W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619) W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929) W/System.err: java.lang.NoSuchMethodException: android.graphics.drawable.BitmapDrawable.getTintMode [] W/System.err: at java.lang.Class.getMethod(Class.java:2940) W/System.err: at java.lang.Class.getMethod(Class.java:2440) W/System.err: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:798) W/System.err: at org.qtproject.qt.android.ExtractStyle.getLayerDrawable(ExtractStyle.java:429) W/System.err: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:820) W/System.err: at org.qtproject.qt.android.ExtractStyle.extractWindow(ExtractStyle.java:1780) W/System.err: at org.qtproject.qt.android.ExtractStyle.<init>(ExtractStyle.java:231) W/System.err: at org.qtproject.qt.android.ExtractStyle.runIfNeeded(ExtractStyle.java:197) W/System.err: at org.qtproject.qt.android.ExtractStyle.setup(ExtractStyle.java:187) W/System.err: at org.qtproject.qt.android.QtActivityLoader.setupStyleExtraction(QtActivityLoader.java:72) W/System.err: at org.qtproject.qt.android.QtActivityLoader.extractContextMetaData(QtActivityLoader.java:84) W/System.err: at org.qtproject.qt.android.QtActivityLoader.<init>(QtActivityLoader.java:31) W/System.err: at org.qtproject.qt.android.QtActivityLoader.getActivityLoader(QtActivityLoader.java:36) W/System.err: at org.qtproject.qt.android.QtActivityBase.onCreate(QtActivityBase.java:111) W/System.err: at org.qtproject.qt.android.bindings.QtActivity.onCreate(QtActivity.java:16) W/System.err: at android.app.Activity.performCreate(Activity.java:9363) W/System.err: at android.app.Activity.performCreate(Activity.java:9332) W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1526) W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4440) W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4689) W/System.err: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:112) W/System.err: at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:174) W/System.err: at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:109) W/System.err: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81) W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2899) W/System.err: at android.os.Handler.dispatchMessage(Handler.java:107) W/System.err: at android.os.Looper.loopOnce(Looper.java:257) W/System.err: at android.os.Looper.loop(Looper.java:342) W/System.err: at android.app.ActivityThread.main(ActivityThread.java:9638) W/System.err: at java.lang.reflect.Method.invoke(Native Method) W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619) W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929) [...] E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/AnimatedStateListDrawable;->mState:Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState; (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied W/System.err: java.lang.NoSuchFieldException: No field mState in class Landroid/graphics/drawable/AnimatedStateListDrawable; (declaration of 'android.graphics.drawable.AnimatedStateListDrawable' appears in /system/framework/framework.jar) W/System.err: at java.lang.Class.getDeclaredField(Native Method) W/System.err: at org.qtproject.qt.android.ExtractStyle.getAccessibleField(ExtractStyle.java:297) W/System.err: at org.qtproject.qt.android.ExtractStyle.getAnimatedStateListDrawable(ExtractStyle.java:655) W/System.err: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:811) W/System.err: at org.qtproject.qt.android.ExtractStyle.extractAbsSeekBar(ExtractStyle.java:1504) W/System.err: at org.qtproject.qt.android.ExtractStyle.<init>(ExtractStyle.java:238) W/System.err: at org.qtproject.qt.android.ExtractStyle.runIfNeeded(ExtractStyle.java:197) W/System.err: at org.qtproject.qt.android.ExtractStyle.setup(ExtractStyle.java:187) W/System.err: at org.qtproject.qt.android.QtActivityLoader.setupStyleExtraction(QtActivityLoader.java:72) W/System.err: at org.qtproject.qt.android.QtActivityLoader.extractContextMetaData(QtActivityLoader.java:84) W/System.err: at org.qtproject.qt.android.QtActivityLoader.<init>(QtActivityLoader.java:31) W/System.err: at org.qtproject.qt.android.QtActivityLoader.getActivityLoader(QtActivityLoader.java:36) W/System.err: at org.qtproject.qt.android.QtActivityBase.onCreate(QtActivityBase.java:111) W/System.err: at org.qtproject.qt.android.bindings.QtActivity.onCreate(QtActivity.java:16) W/System.err: at android.app.Activity.performCreate(Activity.java:9363) W/System.err: at android.app.Activity.performCreate(Activity.java:9332) W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1526) W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4440) W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4689) W/System.err: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:112) W/System.err: at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:174) W/System.err: at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:109) W/System.err: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81) W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2899) W/System.err: at android.os.Handler.dispatchMessage(Handler.java:107) W/System.err: at android.os.Looper.loopOnce(Looper.java:257) W/System.err: at android.os.Looper.loop(Looper.java:342) W/System.err: at android.app.ActivityThread.main(ActivityThread.java:9638) W/System.err: at java.lang.reflect.Method.invoke(Native Method) W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619) W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929) W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.lang.reflect.Field.get(java.lang.Object)' on a null object reference W/System.err: at org.qtproject.qt.android.ExtractStyle.getAnimatedStateListDrawable(ExtractStyle.java:655) W/System.err: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:811) W/System.err: at org.qtproject.qt.android.ExtractStyle.extractAbsSeekBar(ExtractStyle.java:1504) W/System.err: at org.qtproject.qt.android.ExtractStyle.<init>(ExtractStyle.java:238) W/System.err: at org.qtproject.qt.android.ExtractStyle.runIfNeeded(ExtractStyle.java:197) W/System.err: at org.qtproject.qt.android.ExtractStyle.setup(ExtractStyle.java:187) W/System.err: at org.qtproject.qt.android.QtActivityLoader.setupStyleExtraction(QtActivityLoader.java:72) W/System.err: at org.qtproject.qt.android.QtActivityLoader.extractContextMetaData(QtActivityLoader.java:84) W/System.err: at org.qtproject.qt.android.QtActivityLoader.<init>(QtActivityLoader.java:31) W/System.err: at org.qtproject.qt.android.QtActivityLoader.getActivityLoader(QtActivityLoader.java:36) W/System.err: at org.qtproject.qt.android.QtActivityBase.onCreate(QtActivityBase.java:111) W/System.err: at org.qtproject.qt.android.bindings.QtActivity.onCreate(QtActivity.java:16) W/System.err: at android.app.Activity.performCreate(Activity.java:9363) W/System.err: at android.app.Activity.performCreate(Activity.java:9332) W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1526) W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4440) W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4689) W/System.err: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:112) W/System.err: at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:174) W/System.err: at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:109) W/System.err: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81) W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2899) W/System.err: at android.os.Handler.dispatchMessage(Handler.java:107) W/System.err: at android.os.Looper.loopOnce(Looper.java:257) W/System.err: at android.os.Looper.loop(Looper.java:342) W/System.err: at android.app.ActivityThread.main(ActivityThread.java:9638) W/System.err: at java.lang.reflect.Method.invoke(Native Method) W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619) W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929) E/ace.apromaceMES: No implementation found for int[] org.qtproject.qt.android.ExtractStyle.extractNativeChunkInfo20(long) (tried Java_org_qtproject_qt_android_ExtractStyle_extractNativeChunkInfo20 and Java_org_qtproject_qt_android_ExtractStyle_extractNativeChunkInfo20__J) - is the library loaded, e.g. System.loadLibrary? D/AndroidRuntime: Shutting down VM E/AndroidRuntime: FATAL EXCEPTION: main E/AndroidRuntime: Process: de.apromace.apromaceMES, PID: 12502 E/AndroidRuntime: java.lang.UnsatisfiedLinkError: No implementation found for int[] org.qtproject.qt.android.ExtractStyle.extractNativeChunkInfo20(long) (tried Java_org_qtproject_qt_android_ExtractStyle_extractNativeChunkInfo20 and Java_org_qtproject_qt_android_ExtractStyle_extractNativeChunkInfo20__J) - is the library loaded, e.g. System.loadLibrary? E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.extractNativeChunkInfo20(Native Method) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.findPatchesMarings(ExtractStyle.java:596) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:906) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.getStateListDrawable(ExtractStyle.java:460) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.getAnimatedStateListDrawable(ExtractStyle.java:652) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.getDrawable(ExtractStyle.java:811) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.extractSwitch(ExtractStyle.java:1534) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.<init>(ExtractStyle.java:239) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.runIfNeeded(ExtractStyle.java:197) E/AndroidRuntime: at org.qtproject.qt.android.ExtractStyle.setup(ExtractStyle.java:187) E/AndroidRuntime: at org.qtproject.qt.android.QtActivityLoader.setupStyleExtraction(QtActivityLoader.java:72) E/AndroidRuntime: at org.qtproject.qt.android.QtActivityLoader.extractContextMetaData(QtActivityLoader.java:84) E/AndroidRuntime: at org.qtproject.qt.android.QtActivityLoader.<init>(QtActivityLoader.java:31) E/AndroidRuntime: at org.qtproject.qt.android.QtActivityLoader.getActivityLoader(QtActivityLoader.java:36) E/AndroidRuntime: at org.qtproject.qt.android.QtActivityBase.onCreate(QtActivityBase.java:111) E/AndroidRuntime: at org.qtproject.qt.android.bindings.QtActivity.onCreate(QtActivity.java:16) E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:9363) E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:9332) E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1526) E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4440) E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4689) E/AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:112) E/AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:174) E/AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:109) E/AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81) E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2899) E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:107) E/AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:257) E/AndroidRuntime: at android.os.Looper.loop(Looper.java:342) E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:9638) E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619) E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)
Some of the error messages are related to restrictions on non-SDK interfaces, i.e. "hiddenapi: Accessing hidden field [...] using reflection: denied". I have seen it reported elsewhere,
- https://bugreports.qt.io/browse/QTBUG-71590
- https://forum.qt.io/topic/96287/qt-5-11-2-is-using-non-sdk-interfaces-will-be-blocked-by-android
- https://forum.qt.io/topic/94193/api-warning-when-launching-on-android-9
I am aware that it is possible to enable access to non-SDK interfaces:
https://developer.android.com/guide/app-compatibility/restrictions-non-sdk-interfaces#how_can_i_enable_access_to_non-sdk_interfacesIndeed, using the command << adb shell settings put global hidden_api_policy 0 >> would remove the "hiddenapi: Accessing hidden field [...] using reflection: denied" errors.
However, I still end up with 1440 W/System.err messages, and 36 E/AndroidRuntime, and 1 E/ace.[name-of-app].In both case, enabling or not access to non-SDK interfaces, the app will crash upon the first start, and will be working at the second try of starting the app. However, the display will not be what it is supposed to be (i.e. not as when building the app using Qt5.15.[5/11]).
Following the solution of user MarcoDC in the following post (https://forum.qt.io/topic/115072/qt-5-14-2-android-application-crashed-why?_=1756383732732), in AndroidManifest, I have changed "Style extraction" from "default" to "none", and I have no error message upon deployment, and the app is starting and working on first try. The same if I change "Style extraction" from "default" to "minimal".
However, this workaround is having an impact on the display (i.e. colors, font, background,...), so this is not a solution for me.If someone could give me any information or hint on how to fix this issue, that would be very much appreciated.
I am using,
- Qt Creator v17.0.1 on Ubuntu 24.04.3 LTS
- build of Qt 6.8.2 with NDK v27.2.12479018, and NDK v27.2.12479018 is being used in Qt Creator
- The target device is Galaxy Android v15 (with One UI v7.0), but the problem also did show up on a Android 16 (Pixel 7)
- Android build tool version: 35.0.1
- Android build platform: android-35
- In build.gradle, minSdkVersion=34 and targetSdkVersion=35
- using arm64-v8a
- OpenJDK 17
If I should provide additional information that could help, just let me know.
@lycaon-qt You should try with the latest Qt version (6.9.2).
-
@jsulm Thank you for the fast reply.
I will try that, i.e. rebuild and using Qt 6.9.2, and report the outcome here.
A quick question: Why try with the latest Qt version? Is it because this is a known issue with Qt 6.8.2?
I am asking because in one of the link I provided, i.e. QTBUG-71590, the affected versions listed for the restrictions on non-SDK interfaces were 5.9.7, 5.11.2, 5.13.0, 5.15.7, 5.15, 6.x. However, I have not seen this with Qt5.15.5 and Qt5.15.11. (And for Qt5.15.11, I was targeting Android 14 / SDK-34.) -
@jsulm Thank you for the fast reply.
I will try that, i.e. rebuild and using Qt 6.9.2, and report the outcome here.
A quick question: Why try with the latest Qt version? Is it because this is a known issue with Qt 6.8.2?
I am asking because in one of the link I provided, i.e. QTBUG-71590, the affected versions listed for the restrictions on non-SDK interfaces were 5.9.7, 5.11.2, 5.13.0, 5.15.7, 5.15, 6.x. However, I have not seen this with Qt5.15.5 and Qt5.15.11. (And for Qt5.15.11, I was targeting Android 14 / SDK-34.)@lycaon-qt I don't know whether this is a known issue. But I think it is worth trying. Android is a moving target and newer Qt versions should support newer Android versions better.
-
@lycaon-qt I don't know whether this is a known issue. But I think it is worth trying. Android is a moving target and newer Qt versions should support newer Android versions better.
@jsulm So I did give a try with Qt6.9.2, using the following configure command and parameters:
./configure -xplatform android-clang -android-abis arm64-v8a -prefix /home/user/QtAndroid/LGPL_Qt6.9.2_android/ -disable-rpath -nomake tests -nomake examples -android-ndk /home/user/Android/Sdk/ndk/27.2.12479018 -android-sdk /home/user/Android/Sdk -no-warnings-are-errors -opensource -confirm-license -skip qtquick3d -skip qtgraphs -skip qtquick3dphysics -skip qtwebengine -skip qtwebglplugin -skip qtwebview QT_HOST_PATH=/home/user/Qt/LGPL_Qt6.9.2/ -openssl-linked -openssl-runtime -- -DOPENSSL_ROOT_DIR="/home/user/Android/Sdk/android_openssl/ssl_1.1/" -DOPENSSL_USE_STATIC_LIBS=TRUE
I am using a build of Qt 6.9.2, but the rest of the setup remains the same as above in my first post (e.g. NDK v27.2.12479018, arm64-v8a, OpenJDK 17, ...).
Again, the build is successful ... but the deployment fails with 2256 W/System.err messages, and 36 E/AndroidRuntime, and 36 E/ace.[name-of-app] error messages.
The app itself also shows the same symptom as before: that is, crash on the first startup, and can open on subsequent starts, but with the display not being what it is supposed to be (w.r.t. Qt5.15.[5/11]).
Below I copied only the "hiddenapi: Accessing hidden field [...] using reflection: denied" message I got from logcat:
E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; (runtime_flags=0, domain=platform, api=max-target-r) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/RippleDrawable;->mMask:Landroid/graphics/drawable/Drawable; (runtime_flags=0, domain=platform, api=max-target-o) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; (runtime_flags=0, domain=platform, api=max-target-r) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/RippleDrawable;->mMask:Landroid/graphics/drawable/Drawable; (runtime_flags=0, domain=platform, api=max-target-o) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/VectorDrawable;->mVectorState:Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; (runtime_flags=0, domain=platform, api=max-target-o) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; (runtime_flags=0, domain=platform, api=max-target-r) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; (runtime_flags=0, domain=platform, api=max-target-r) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; (runtime_flags=0, domain=platform, api=max-target-r) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; (runtime_flags=0, domain=platform, api=max-target-r) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/RippleDrawable;->mMask:Landroid/graphics/drawable/Drawable; (runtime_flags=0, domain=platform, api=max-target-o) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; (runtime_flags=0, domain=platform, api=max-target-r) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/VectorDrawable;->mVectorState:Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; (runtime_flags=0, domain=platform, api=max-target-o) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/VectorDrawable;->mVectorState:Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; (runtime_flags=0, domain=platform, api=max-target-o) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/AnimatedStateListDrawable;->mState:Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState; (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied
Let me know if there is something else you would recommend me to try.
-
@jsulm So I did give a try with Qt6.9.2, using the following configure command and parameters:
./configure -xplatform android-clang -android-abis arm64-v8a -prefix /home/user/QtAndroid/LGPL_Qt6.9.2_android/ -disable-rpath -nomake tests -nomake examples -android-ndk /home/user/Android/Sdk/ndk/27.2.12479018 -android-sdk /home/user/Android/Sdk -no-warnings-are-errors -opensource -confirm-license -skip qtquick3d -skip qtgraphs -skip qtquick3dphysics -skip qtwebengine -skip qtwebglplugin -skip qtwebview QT_HOST_PATH=/home/user/Qt/LGPL_Qt6.9.2/ -openssl-linked -openssl-runtime -- -DOPENSSL_ROOT_DIR="/home/user/Android/Sdk/android_openssl/ssl_1.1/" -DOPENSSL_USE_STATIC_LIBS=TRUE
I am using a build of Qt 6.9.2, but the rest of the setup remains the same as above in my first post (e.g. NDK v27.2.12479018, arm64-v8a, OpenJDK 17, ...).
Again, the build is successful ... but the deployment fails with 2256 W/System.err messages, and 36 E/AndroidRuntime, and 36 E/ace.[name-of-app] error messages.
The app itself also shows the same symptom as before: that is, crash on the first startup, and can open on subsequent starts, but with the display not being what it is supposed to be (w.r.t. Qt5.15.[5/11]).
Below I copied only the "hiddenapi: Accessing hidden field [...] using reflection: denied" message I got from logcat:
E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; (runtime_flags=0, domain=platform, api=max-target-r) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/RippleDrawable;->mMask:Landroid/graphics/drawable/Drawable; (runtime_flags=0, domain=platform, api=max-target-o) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; (runtime_flags=0, domain=platform, api=max-target-r) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/RippleDrawable;->mMask:Landroid/graphics/drawable/Drawable; (runtime_flags=0, domain=platform, api=max-target-o) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/VectorDrawable;->mVectorState:Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; (runtime_flags=0, domain=platform, api=max-target-o) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; (runtime_flags=0, domain=platform, api=max-target-r) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; (runtime_flags=0, domain=platform, api=max-target-r) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; (runtime_flags=0, domain=platform, api=max-target-r) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; (runtime_flags=0, domain=platform, api=max-target-r) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/RippleDrawable;->mMask:Landroid/graphics/drawable/Drawable; (runtime_flags=0, domain=platform, api=max-target-o) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; (runtime_flags=0, domain=platform, api=max-target-r) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/VectorDrawable;->mVectorState:Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; (runtime_flags=0, domain=platform, api=max-target-o) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/VectorDrawable;->mVectorState:Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; (runtime_flags=0, domain=platform, api=max-target-o) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied E/ace.apromaceMES: hiddenapi: Accessing hidden field Landroid/graphics/drawable/AnimatedStateListDrawable;->mState:Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState; (runtime_flags=0, domain=platform, api=max-target-p) from Lorg/qtproject/qt/android/ExtractStyle; (domain=app) using reflection: denied
Let me know if there is something else you would recommend me to try.
@lycaon-qt Is there a reason you're building qt by yourself?
-
@lycaon-qt Is there a reason you're building qt by yourself?
@jsulm Thank you again for the quick reply.
We are using the same Qt source files, but build according to the platform (Linux, Windows, Android) and Qt version (Qt 6.8.2, 5.15.11, 5.15.5, now 6.9.2 ... and previous version of Qt).
It was and is working very well ... until now with Qt6.8.2 (and 6.9.2) on Android 15 and 16.Why do you ask? e.g. Is it relevant for the restrictions on non-SDK interfaces error messages I get?
-
@jsulm Thank you again for the quick reply.
We are using the same Qt source files, but build according to the platform (Linux, Windows, Android) and Qt version (Qt 6.8.2, 5.15.11, 5.15.5, now 6.9.2 ... and previous version of Qt).
It was and is working very well ... until now with Qt6.8.2 (and 6.9.2) on Android 15 and 16.Why do you ask? e.g. Is it relevant for the restrictions on non-SDK interfaces error messages I get?
@lycaon-qt said in Qt6.8.2 on Android 15: 200+ java W/System.err when deploy using Qt Creator:
Why do you ask?
Because usually there is no need to build Qt by yourself. QtCompany provides Qt builds for Android via the online installer.
-
@lycaon-qt said in Qt6.8.2 on Android 15: 200+ java W/System.err when deploy using Qt Creator:
Why do you ask?
Because usually there is no need to build Qt by yourself. QtCompany provides Qt builds for Android via the online installer.