Unsolved App runs with QtCreator but fails to start in standalone mode
-
Hi all,
I'm having a problem with an Android app that I do not know how to explain.
I have an application based on shared libraries that use shared libraries themselves. When I launch the application via QtCreator, the application starts normally. If, after disconnecting the tablet from the development pc, I launch the application directly on the tablet, it does not start (the application stops at launch as if it was missing a dependency). I specify that I use ANDROID_EXTRA_LIBS to embed specific libraries in the APK.
I tried to get the logs through logcat, but I do not understand what component is missing.
Below, the last logcat lines from my app (01-player).I tried to launch the application through adb via "adb shell
am start -a org.qtproject.example.a01_player / .ActivityName "but the return status is always the same: Starting: Intent {act = org.qtproject.example.a01_player / .ActivityName}
Error: Activity not started, unable to resolve Intent {act = org.qtproject.example.a01_player / .ActivityName flg = 0x10000000}.Context : Win10/ndk-r10e/Qt5.11/g++/device with Android 8/ API21
Is there a tool like 'ldd' to list dependencies ? Gradle dependencies ?
Thanks for any idea or suggestion?Sincerely,
David.LOGCAT :
01-21 00:01:24.393 19623 19640 W linker : "/data/data/org.qtproject.example.a01_player/qt-reserved-files/plugins/platforms/android/libqtforandroid.so" has unsupported flags DT_FLAGS_1=0x80
01-21 00:01:24.409 19623 19640 W linker : "/data/app/org.qtproject.example.a01_player-4hUw4JeAvQNJByoGVb4I5g==/lib/arm/libQt5AndroidExtras.so" has unsupported flags DT_FLAGS_1=0x80
01-21 00:01:24.458 19623 19640 F zygote : java_vm_ext.cc:534] JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception java.lang.ClassNotFoundException: Didn't find class "org.qtproject.qt5.android.extras.QtNative" on path: DexPathList[[zip file "/data/app/org.qtproject.example.a01_player-4hUw4JeAvQNJByoGVb4I5g==/base.apk"],nativeLibraryDirectories=[/data/app/org.qtproject.example.a01_player-4hUw4JeAvQNJByoGVb4I5g==/lib/arm, /data/app/org.qtproject.example.a01_player-4hUw4JeAvQNJByoGVb4I5g==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib]]
01-21 00:01:24.459 19623 19640 F zygote : runtime.cc:550] JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception java.lang.ClassNotFoundException: Didn't find class "org.qtproject.qt5.android.extras.QtNative" on path: DexPathList[[zip file "/data/app/org.qtproject.example.a01_player-4hUw4JeAvQNJByoGVb4I5g==/base.apk"],nativeLibraryDirectories=[/data/app/org.qtproject.example.a01_player-4hUw4JeAvQNJByoGVb4I5g==/lib/arm, /data/app/org.qtproject.example.a01_player-4hUw4JeAvQNJByoGVb4I5g==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib]]
01-21 00:01:24.464 3042 3218 D WifiTrafficPoller: TrafficStats TxPkts=11175 RxPkts=19709 TxBytes=2096176 RxBytes=19920609 , Foreground uid=10095 pkgName=org.qtproject.example.a01_player txBytes=0 rxBytes=0
01-21 00:01:24.498 2682 2682 E audit : type=1400 audit(1548025284.489:422): avc: denied { search } for pid=19644 comm="crash_dump32" name="org.qtproject.example.a01_player" dev="dm-1" ino=2040 scontext=u:r:crash_dump:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 SEPF_SM-T395_8.1.0_0007 audit_filtered
01-21 00:01:24.524 19644 19644 F DEBUG : pid: 19623, tid: 19640, name: qtMainLoopThrea >>> org.qtproject.example.a01_player <<<
01-21 00:01:25.253 3042 19645 W ActivityManager: crash : org.qtproject.example.a01_player,0
01-21 00:01:25.255 3042 19645 W ActivityManager: Force finishing activity org.qtproject.example.a01_player/org.qtproject.qt5.android.bindings.QtActivity
01-21 00:01:25.256 3042 19645 W MultiScreenManagerService: moveTaskBackToDisplayIfNeeded(): root activity or app is null, task=TaskRecord{3947973 #290 A=org.qtproject.example.a01_player U=0 StackId=1 sz=1}, rootActivity=null
01-21 00:01:25.268 3042 3085 I ActivityManager: Showing crash dialog for package org.qtproject.example.a01_player u0
01-21 00:01:25.295 3042 4009 I ActivityManager: Process org.qtproject.example.a01_player (pid 19623) has died: vis +99TOP (83,1622) -
Do you bundle Qt libraries inside the .apk? (it's a checkbox in project build settings)
-
Thanks for you answer.
I thought about it but I can not find this option anymore in the settings. It was in Projects> Build> Android Build APK> Qt Deployment but on the QtCreator 4.6.1 version (Qt5.11) the settings of Projects> Build> Build Android APK> Advanced Actions no longer give access to this choice.
I will try to force all qt libs in the apk (explicitly).