My Android app crashes upon startup with Qt 6.9.2.
-
The app works with 6.9.1. It overrides the Java class
QtActivity
to perform some initialization and add functionality. The package name is configurable at compile time (I want to be able to install both release and debug builds on the same device).The problem seems to occur immediately after I call
app.exec();
inmain.cpp
.Unfortunately, as far as I know, there are no debug options in
QJniObject
to enable trace logging of what it actually does, so I have no idea which Java class or function is missing.Do you know of any changes in 6.9.2 that could cause this? Or any way to troubleshoot it (short of patching
QJniObject
with trace logging and building Qt for Android from source)?F/ng.nextappdevel: runtime.cc:716] JNI DETECTED ERROR IN APPLICATION: GetMethodID received NULL jclass F/ng.nextappdevel: runtime.cc:716] in call to GetMethodID F/ng.nextappdevel: runtime.cc:716] from void org.qtproject.qt.android.QtNative.startQtApplication() F/libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 5929 (qtMainLoopThrea), pid 5892 (ng.nextappdevel) F/DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** F/DEBUG : Build fingerprint: 'Nokia/TheThing_00EEA/TTG_sprout:14/UKQ1.231003.002/00WW_4_20E:user/release-keys' F/DEBUG : Revision: '0' F/DEBUG : ABI: 'arm64' F/DEBUG : Timestamp: 2025-09-19 17:35:54.211351096+0300 F/DEBUG : Process uptime: 3s F/DEBUG : Cmdline: eu.lastviking.nextappdevel F/DEBUG : pid: 5892, tid: 5929, name: qtMainLoopThrea >>> eu.lastviking.nextappdevel <<< F/DEBUG : uid: 10321 F/DEBUG : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr -------- F/DEBUG : Abort message: 'JNI DETECTED ERROR IN APPLICATION: GetMethodID received NULL jclass F/DEBUG : in call to GetMethodID F/DEBUG : from void org.qtproject.qt.android.QtNative.startQtApplication()' F/DEBUG : x0 0000000000000000 x1 0000000000001729 x2 0000000000000006 x3 0000006ddce6edd0 F/DEBUG : x4 5151441f43445342 x5 5151441f43445342 x6 5151441f43445342 x7 7f7f7f7f7f7f7f7f F/DEBUG : x8 00000000000000f0 x9 00000070d9a521b8 x10 0000000000000001 x11 00000070d9a9a924 F/DEBUG : x12 0000000000004a6c x13 00000000000000d4 x14 0000006ddce6dbc0 x15 0000000034155555 F/DEBUG : x16 00000070d9b02d18 x17 00000070d9ade3b0 x18 0000006d6bb58000 x19 0000000000001704 F/DEBUG : x20 0000000000001729 x21 00000000ffffffff x22 0000000000000002 x23 0000006ddce75000 F/DEBUG : x24 00000000000000af x25 0000006ddce75000 x26 0000000000000001 x27 0000000000000000 F/DEBUG : x28 0000006de0dbf2b4 x29 0000006ddce6ee50 F/DEBUG : lr 00000070d9a8b624 sp 0000006ddce6edb0 pc 00000070d9a8b650 pst 0000000000001000 F/DEBUG : 45 total frames F/DEBUG : backtrace: F/DEBUG : #00 pc 000000000005b650 /apex/com.android.runtime/lib64/bionic/libc.so (abort+168) (BuildId: 50118287324a156bc7be11d3d940c7be) F/DEBUG : #01 pc 000000000093091c /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+344) (BuildId: c35c9ebf7bb06435e4b31977d87bd5d5) F/DEBUG : #02 pc 00000000000160fc /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_0::__invoke(char const*)+80) (BuildId: 1470f61c05962eb04fafe76bd58bf664) F/DEBUG : #03 pc 00000000000156d0 /apex/com.android.art/lib64/libbase.so (android::base::LogMessage::~LogMessage()+516) (BuildId: 1470f61c05962eb04fafe76bd58bf664) F/DEBUG : #04 pc 0000000000442390 /apex/com.android.art/lib64/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+1696) (BuildId: c35c9ebf7bb06435e4b31977d87bd5d5) F/DEBUG : #05 pc 000000000088ba68 /apex/com.android.art/lib64/libart.so (art::JavaVMExt::JniAbortV(char const*, char const*, std::__va_list)+108) (BuildId: c35c9ebf7bb06435e4b31977d87bd5d5) F/DEBUG : #06 pc 0000000000589c40 /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::AbortF(char const*, ...) (.__uniq.99033978352804627313491551960229047428)+140) (BuildId: c35c9ebf7bb06435e4b31977d87bd5d5) F/DEBUG : #07 pc 000000000058a040 /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::CheckInstance(art::ScopedObjectAccess&, art::(anonymous namespace)::ScopedCheck::InstanceKind, _jobject*, bool) (.__uniq.99033978352804627313491551960229047428)+984) (BuildId: c35c9ebf7bb06435e4b31977d87bd5d5) F/DEBUG : #08 pc 0000000000583d80 /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::(anonymous namespace)::JniValueType*) (.__uniq.99033978352804627313491551960229047428)+2012) (BuildId: c35c9ebf7bb06435e4b31977d87bd5d5) F/DEBUG : #09 pc 000000000057efe0 /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::GetMethodIDInternal(char const*, _JNIEnv*, _jclass*, char const*, char const*, bool) (.__uniq.99033978352804627313491551960229047428)+212) (BuildId: c35c9ebf7bb06435e4b31977d87bd5d5) F/DEBUG : #10 pc 00000000004e8c8c /data/app/~~fbO1rzPPetOl2UP36WivKg==/eu.lastviking.nextappdevel-gaI0o9JZ_f1lnQGNCJSwhg==/base.apk!libQt6Core_arm64-v8a.so (offset 0x608000) (QJniObject::getMethodID(_JNIEnv*, _jclass*, char const*, char const*, bool)+40) (BuildId: ab1cc606193d16041cb93976f190d199fb8eae0b) F/DEBUG : #11 pc 00000000004e9a98 /data/app/~~fbO1rzPPetOl2UP36WivKg==/eu.lastviking.nextappdevel-gaI0o9JZ_f1lnQGNCJSwhg==/base.apk!libQt6Core_arm64-v8a.so (offset 0x608000) (QJniObject::callObjectMethod(char const*, char const*, ...) const+68) (BuildId: ab1cc606193d16041cb93976f190d199fb8eae0b) F/DEBUG : #12 pc 0000000000081670 /data/app/~~fbO1rzPPetOl2UP36WivKg==/eu.lastviking.nextappdevel-gaI0o9JZ_f1lnQGNCJSwhg==/base.apk (offset 0x7544000) (BuildId: 5b164bf6a1273bdf0d0587ce10f278fb151ab042) F/DEBUG : #13 pc 0000000000085600 /data/app/~~fbO1rzPPetOl2UP36WivKg==/eu.lastviking.nextappdevel-gaI0o9JZ_f1lnQGNCJSwhg==/base.apk (offset 0x7544000) (BuildId: 5b164bf6a1273bdf0d0587ce10f278fb151ab042) F/DEBUG : #14 pc 00000000000865a0 /data/app/~~fbO1rzPPetOl2UP36WivKg==/eu.lastviking.nextappdevel-gaI0o9JZ_f1lnQGNCJSwhg==/base.apk (offset 0x7544000) (BuildId: 5b164bf6a1273bdf0d0587ce10f278fb151ab042) F/DEBUG : #15 pc 000000000039fcdc /data/app/~~fbO1rzPPetOl2UP36WivKg==/eu.lastviking.nextappdevel-gaI0o9JZ_f1lnQGNCJSwhg==/base.apk!libQt6Core_arm64-v8a.so (offset 0x608000) (QObject::event(QEvent*)+524) (BuildId: ab1cc606193d16041cb93976f190d199fb8eae0b) F/DEBUG : #16 pc 000000000036ac30 /data/app/~~fbO1rzPPetOl2UP36WivKg==/eu.lastviking.nextappdevel-gaI0o9JZ_f1lnQGNCJSwhg==/base.apk!libQt6Core_arm64-v8a.so (offset 0x608000) (QCoreApplication::notifyInternal2(QObject*, QEvent*)+160) (BuildId: ab1cc606193d16041cb93976f190d199fb8eae0b) F/DEBUG : #17 pc 000000000036b930 /data/app/~~fbO1rzPPetOl2UP36WivKg==/eu.lastviking.nextappdevel-gaI0o9JZ_f1lnQGNCJSwhg==/base.apk!libQt6Core_arm64-v8a.so (offset 0x608000) (QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)+432) (BuildId: ab1cc606193d16041cb93976f190d199fb8eae0b) F/DEBUG : #18 pc 00000000004807b0 /data/app/~~fbO1rzPPetOl2UP36WivKg==/eu.lastviking.nextappdevel-gaI0o9JZ_f1lnQGNCJSwhg==/base.apk!libQt6Core_arm64-v8a.so (offset 0x608000) (QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+76) (BuildId: ab1cc606193d16041cb93976f190d199fb8eae0b) F/DEBUG : #19 pc 0000000000649b74 /data/app/~~fbO1rzPPetOl2UP36WivKg==/eu.lastviking.nextappdevel-gaI0o9JZ_f1lnQGNCJSwhg==/base.apk!libQt6Gui_arm64-v8a.so (offset 0xe70000) (QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+20) (BuildId: 55e85fc8ab0b8efcf13d9cccfd017afdd66517