2013-12-13 10 views
10

बाहरी फ़ाइल को 'एपीके' में कैसे शामिल किया जाए?क्यूटी 5.2 एक एंड्रॉइड पैकेज में बाहरी फाइल सहित?

उदाहरण:

नहीं है "123.txt" मुख्य निर्देशिका जहां .pro फ़ाइल मौजूद है में। एपीके में "123.txt" डालने के लिए प्रो फ़ाइल में मुझे क्या जोड़ना चाहिए।

मैंने डिप्लोमेंट, डिप्लोमेंट फ़ोल्डर्स की कोशिश की। लेकिन वे केवल सिम्बियन और विंडोज सीई के साथ काम करते हैं।

उत्तर

9

वहाँ यह करने के लिए दो तरीके, दोनों Qt 5.1 Documentation For Android.

  1. पर "कोई मौजूदा क्यूटी आवेदन Porting" उन्हें एक QRC फाइल में बंडल के तहत उल्लेख कर रहे हैं (पार मंच काम करता है)
  2. उन्हें "संपत्ति में जोड़े : "निर्देशिका (एंड्रॉयड विशिष्ट)

# 2 के लिए:

" संपत्ति "निदेशक जब आप परियोजना का निर्माण करते हैं तो टोरी बनाई जाएगी। मुझे एपीके में पैक होने से पहले फ़ाइलों को कॉपी करने के लिए "इंस्टाल" qmake चर का उपयोग करना सबसे आसान लगता है। मेरे द्वारा बनाई गई एक परियोजना के लिए निम्नलिखित एक qmake फ़ाइल से है। ध्यान दें कि इंस्टॉलेशन के लिए, संपत्तियों का मार्ग "/ संपत्ति" पढ़ता है, न कि "संपत्ति" जैसा कि आप उम्मीद करेंगे। (यह वास्तव में एंड्रॉइड बिल्ड वर्कस्पेस की एक उपनिर्देशिका में समाप्त होता है।)

एंड्रॉइड में कोड से निर्देशिका तक पहुंचने के लिए, आप "संपत्ति:" का उपयोग करते हैं। (उदाहरण में, /assets/Samples ==>assets:/Samples।)

# - setup the correct location to install to and load from 
android { 
    # android platform 
    # From: http://community.kde.org/Necessitas/Assets 
    SAMPLES_INSTALL_PATH=/assets/Samples 
} else { 
    # other platforms 
    SAMPLES_INSTALL_PATH=$$OUT_PWD/Samples 
} 

# - setup the 'make install' step 
samples.path = $$SAMPLES_INSTALL_PATH 
samples.files += $$SAMPLE_FILES 
samples.depends += FORCE 

INSTALLS += samples 
+0

1. मैंने कोशिश की (कोई सफलता नहीं) लेकिन फिर मैंने सीखा कि Qt केवल पढ़ने-योग्य मोड में qrc फ़ाइल के साथ बंडल किए गए डेटाबेस का उपयोग करने की अनुमति नहीं देता है। – user2400925

+0

2. क्यूटी 5.2 "संपत्ति" निर्देशिका उत्पन्न नहीं करता है। मुझे क्या करना चाहिए? – user2400925

+0

मैंने जवाब का अद्यतन किया है कि मैंने संपत्तियों का उपयोग कैसे किया है: निर्देशिका। – jwernerny

1

User2400925

के लिए विशिष्ट

क्यूटी 5.1 में मैं, उपयोगकर्ता के घर फ़ोल्डर में आस्तियों फ़ोल्डर से डेटाबेस कॉपी करने के लिए करता है, तो फ़ाइल का इस्तेमाल किया था अस्तित्व में नहीं है। ऐप द्वारा उपयोग किया जा सकता है।

आप के माध्यम से this link

4

जा सकते हैं आप क्यूटी संसाधन प्रणाली का उपयोग कर सकते हैं। डिफ़ॉल्ट रूप से, सभी क्यूटी अनुप्रयोग ": /" उपसर्ग या यूआरएल योजना उपसर्ग, "qrc:" का उपयोग कर एक qrc फ़ाइल की सामग्री तक पहुंच सकते हैं।

दूसरा दृष्टिकोण संसाधनों की पैकेज निर्देशिका में संसाधनों को तैनात करना है। यदि आप एंड्रॉइड एपीआई के साथ बेहतर इंटरऑपरेबिलिटी हासिल करना चाहते हैं तो यह सबसे अच्छा विकल्प है। आप "संपत्ति:" उपसर्ग का उपयोग कर निर्देशिका में सभी संसाधनों तक पहुंच सकते हैं। Qrc के विपरीत, यह दृष्टिकोण क्रॉस-प्लेटफ़ॉर्म समाधान नहीं है।

जब आप अपनी परियोजना का निर्माण करते हैं, तो Build-Directory/android-build/ में बनाए गए "संपत्ति" नामक फ़ोल्डर। संपत्ति निर्देशिका में अपने फाइलों को कॉपी करने के बाद, आप अपने समर्थक के लिए इन जोड़ सकते हैं:

deployment.files += MyFile1 
deployment.files += MyFile2 
... 
deployment.path = /assets 
INSTALLS += deployment 

संपत्ति में फ़ाइलों को केवल पढ़ने के लिए कर रहे हैं। तो तुम पहले कुछ अन्य स्थान पर प्रतिलिपि चाहिए आप उन्हें बदलना चाहते हैं: ऐसा करने के लिए

QFile dfile("assets:/MyFile1"); 
if (dfile.exists()) 
{ 
    dfile.copy("./MyFile1"); 
    QFile::setPermissions("./MyFile1",QFile::WriteOwner | QFile::ReadOwner); 
} 
1

एक और आसान तरीका:

1) अपने में इस स्ट्रिंग जोड़ें।समर्थक

ANDROID_PACKAGE_SOURCE_DIR = $$ पीडब्ल्यूडी/android-स्रोतों

2) एंड्रॉयड-स्रोत बनाएं अपने proj फ़ोल्डर में फ़ोल्डर। एंड्रॉइड-स्रोत/परिसंपत्तियों/में आपको जो भी चाहिए उसे रखें। आप AndroidManifest.xml या एंड्रॉइड-स्रोत/res/drawable/icon.png जैसी कोई भी अन्य फ़ाइलें भी डाल सकते हैं जिन्हें आप प्रतिलिपि बनाना और लक्ष्य बंडल में अपडेट करना चाहते हैं। ऐसा करने के लिए

-1

एक और आसान तरीका:

  1. में इस स्ट्रिंग जोड़े अपने .pro

ANDROID_PACKAGE_SOURCE_DIR = $$ पीडब्ल्यूडी/android-स्रोतों

  1. अपने proj फ़ोल्डर में एंड्रॉइड-स्रोत फ़ोल्डर बनाएँ। एंड्रॉइड-स्रोत/परिसंपत्तियों/में आपको जो भी चाहिए उसे रखें। आप AndroidManifest.xml या एंड्रॉइड-स्रोत/res/drawable/icon.png जैसी कोई भी अन्य फ़ाइलें भी डाल सकते हैं जिन्हें आप प्रतिलिपि बनाना और लक्ष्य बंडल में अपडेट करना चाहते हैं।
+0

के लिए Qt-5.3.0 पर परीक्षण और काम करता है यह केवल art926 द्वारा उत्तर से कॉपी/पेस्ट किया गया था एक साल पहले पोस्ट किया गया। – RamenChef

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