पर क्रैश, मैं एंड्रॉइड (सीएमके के साथ) के लिए एक क्यूटी 5 एप्लीकेशन विकसित कर रहा हूं और वर्तमान में मैं क्यूटी के QGeoPositionInfoSource
का उपयोग कर स्थान डेटा पढ़ने की कोशिश कर रहा हूं। अपने आवेदन के सभी अब तक बढ़िया चल रहा है लेकिन जब मैंQt5 QGeoPositionInfoSource :: createDefaultSource() एंड्रॉइड 5.0
auto source = QGeoPositionInfoSource::createDefaultSource(this);
अनुप्रयोग क्रैश तुरंत चलाने के लिए और logcat
मुझे देता है: पिछले तीन एंड्रॉयड NDKs
I/__log_qt( 422): (II) dpw_qt5: <last output from my app>
F/libc ( 422): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 797 (QtThread)
I/DEBUG ( 333): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 333): Build fingerprint: 'samsung/trltexx/trlte:5.0.1/LRX22C/N910FXXU1BOE3:user/release-keys'
I/DEBUG ( 333): Revision: '12'
I/DEBUG ( 333): ABI: 'arm'
I/DEBUG ( 333): pid: 422, tid: 797, name: QtThread >>> org.qtproject.DPW <<<
I/DEBUG ( 333): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
I/DEBUG ( 333): r0 00000000 r1 9d2bedf8 r2 00010006 r3 be7eb61d
I/DEBUG ( 333): r4 9d2bedf4 r5 9d2bedf8 r6 00000000 r7 9cffa030
I/DEBUG ( 333): r8 9d2bedf4 r9 afd04388 sl 00000001 fp 9d2bf8dc
I/DEBUG ( 333): ip 9cff9e80 sp 9d2bedd0 lr 9cff49b7 pc 9cff612e cpsr 60070030
I/DEBUG ( 333):
I/DEBUG ( 333): backtrace:
I/DEBUG ( 333): #00 pc 0000512e /data/data/org.qtproject.DPW/qt-reserved-files/plugins/position/libqtposition_android.so
I/DEBUG ( 333): #01 pc 000039b3 /data/data/org.qtproject.DPW/qt-reserved-files/plugins/position/libqtposition_android.so
मैं का उपयोग किया है और के कई संस्करण क्यूटी 5.6 से 5.9 तक - सभी एक ही परिणाम के साथ, इसलिए मुझे लगता है कि मैं व्यवस्थित रूप से कुछ गलत कर रहा हूं।
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
जहाँ मैं जांच करने के लिए शुरू कर सकते हैं तुम मेरे लिए किसी भी विचार है:
मेरे AndroidManifest.xml
निम्नलिखित लाइनों में शामिल है?
अद्यतन:
मैं कॉल स्टैक के शीर्ष सबसे लाइन वापस अनुरेखण किया गया है:
I/DEBUG ( 333): #00 pc 0000512e /data/data/org.qtproject.DPW
और मुझे पता चला कि jnipositioning.cpp
अंदर निम्न पंक्ति दुर्घटना का कारण बनता है:
if (javaVM->GetEnv((void**)&jniEnv, JNI_VERSION_1_6) < 0) {
इसलिए नया सवाल यह है कि: javavm->GetEnv()
(में घोषित किया जा सकता है 10) दुर्घटना?
एक और अद्यतन:
jpo38 ने बताया कि किसी Android ऐप्लिकेशन में qmake परिणामों के साथ कि इमारत है कि दुर्घटना नहीं है। मैंने इस व्यवहार का प्रदर्शन github project स्थापित किया है।
तो सवाल यह है: क्षुधा के बीच का अंतर CMake के साथ विन्यस्त और qmake किया जा रहा है?
पर आपको सही ढंग से जोड़ें, आपको एक क्यूटी बग की रिपोर्ट करने का प्रयास करना चाहिए। – jpo38
मैंने किया: https://bugreports.qt.io/browse/QTBUG-59010 – frans
अच्छा। उम्मीद है कि आपको जल्द ही एक जवाब मिल जाएगा। मैं अनुशंसा करता हूं कि आप अपनी क्यूटी बग रिपोर्ट में एमसीवी पोस्ट करें। जब आप ऐसा करते हैं तो वे समस्याओं में तेजी से देखते हैं। सौभाग्य। – jpo38