2015-06-18 5 views
6

जोड़ने के बाद फ़ाइल में एंड्रॉइड परिणामों पर तैनाती नहीं मिली QtQuick.Controls 1.2 आयात करने और StackedWidget घटक का उपयोग करने के बाद, अब नीचे दिए गए अनुसार एंड्रॉइड पर तैनाती करते समय मुझे एक त्रुटि मिलती है। अनुपलब्ध फ़ाइल AnimationDrawable.qml एंड्रॉइड बिल्ड निर्देशिका से अनुपलब्ध नहीं है, इसलिए मुझे समझ में नहीं आता कि यह एपीके के साथ क्यों पैक नहीं किया गया है।QtQuick नियंत्रण

आयातित QtQuick.Controls आयात करते समय यह ठीक से तैनात करता है और StackView को किसी और चीज़ के साथ प्रतिस्थापित करता है।

मेरा क्यूटी संस्करण 5.4.2 है।

मैंने इसे क्यूटी 5.3.2 के साथ तैनात करने की कोशिश की और यह अपेक्षा के अनुसार काम करता है।

E/Qt  (12767): Can't create main activity 
 
E/Qt  (12767): java.io.FileNotFoundException: --Added-by-androiddeployqt--/qml/QtQuick/Controls/Styles/Android/drawables/AnimationDrawable.qml 
 
E/Qt  (12767): \t at android.content.res.AssetManager.openAsset(Native Method) 
 
E/Qt  (12767): \t at android.content.res.AssetManager.open(AssetManager.java:313) 
 
E/Qt  (12767): \t at android.content.res.AssetManager.open(AssetManager.java:287) 
 
E/Qt  (12767): \t at org.qtproject.qt5.android.bindings.QtActivity.copyAsset(QtActivity.java:394) 
 
E/Qt  (12767): \t at org.qtproject.qt5.android.bindings.QtActivity.extractBundledPluginsAndImports(QtActivity.java:503) 
 
E/Qt  (12767): \t at org.qtproject.qt5.android.bindings.QtActivity.startApp(QtActivity.java:582) 
 
E/Qt  (12767): \t at org.qtproject.qt5.android.bindings.QtActivity.onCreate(QtActivity.java:895) 
 
E/Qt  (12767): \t at android.app.Activity.performCreate(Activity.java:5990) 
 
E/Qt  (12767): \t at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
 
E/Qt  (12767): \t at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 
 
E/Qt  (12767): \t at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
 
E/Qt  (12767): \t at android.app.ActivityThread.access$800(ActivityThread.java:151) 
 
E/Qt  (12767): \t at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
 
E/Qt  (12767): \t at android.os.Handler.dispatchMessage(Handler.java:102) 
 
E/Qt  (12767): \t at android.os.Looper.loop(Looper.java:135) 
 
E/Qt  (12767): \t at android.app.ActivityThread.main(ActivityThread.java:5254) 
 
E/Qt  (12767): \t at java.lang.reflect.Method.invoke(Native Method) 
 
E/Qt  (12767): \t at java.lang.reflect.Method.invoke(Method.java:372) 
 
E/Qt  (12767): \t at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
 
E/Qt  (12767): \t at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

+1

यदि आप खिड़कियों पर हैं, तो मुझे लगता है: पथ बहुत लंबा हो जाता है (> 256 वर्ण विंडोज़ के लिए एक वास्तविक समस्या है)। यह केवल तब होता है जब QtQuick आयात करते हैं क्योंकि तब स्टाइल फ़ोल्डर तैनात किए जाएंगे। मार्गों को कम करने के लिए अपने सिस्टम पर यथासंभव उच्च स्तर के रूप में क्यूटी स्थापित करने का प्रयास करें। इससे हो जाना चाहिए! – qCring

+0

@qCring: क्यूटी सी:/क्यूटी/* में स्थापित है, लेकिन परियोजना एक गहरे रास्ते में है। क्या वह वही व्यवहार कर सकता है? और मैंने अभी सत्यापित किया है कि यह क्यूटी 5.3.2 – Phat

+1

पर काम करता है हाँ मुझे लगता है कि यह गंतव्य पथों के लिए भी लागू होता है। मैं इसे आज़मा दूंगा! – qCring

उत्तर

8

जब आवेदन की तैनाती, androiddeployqt फाइलों का एक समूह है जो बहुत विंडोज पर विफल रहता है जब स्रोत या गंतव्य पथ 260 वर्णों (हाँ, कि एक "known feature" है) से अधिक समय हो गया है कॉपी कर देंगे। क्यूटी स्थापना और प्रोजेक्ट निर्देशिका को यथासंभव शीर्ष स्तर के रूप में रखते हुए पथ की लंबाई को कम करने और समस्या हल करने में मदद मिलती है। और यह मूल रूप से यह है!

संबंधित मुद्दे