2013-09-08 9 views
28

के साथ विकास करना प्रतीत होता है कि प्रलेखन थोड़ा पतला है और मैं आपको आश्वस्त करता हूं कि मैंने यह ऑनलाइन ढूंढने की कोशिश की है, लेकिन मुझे वास्तव में यह नहीं पता कि विकास प्रक्रिया को फोनगैप और ग्रहण के साथ कैसे काम करना चाहिए ।ग्रहण और फोनगैप/कॉर्डोवा 3

मैंने कई ट्यूटोरियल्स का पालन किया और कॉर्डोवा कमांड लाइन का उपयोग करके हैलो वर्ल्ड उदाहरण बनाया। मैंने फिर एंड्रॉइड मंच जोड़ा और निर्माण चलाया। इसके बाद, मैंने उपनिर्देशिका प्लेटफॉर्म/एंड्रॉइड निर्देशिका का उपयोग करके निर्देशित मौजूदा स्रोत के संबंध में ग्रहण में एक परियोजना के रूप में एंडोडी बिट जोड़ा। इसने मुझे एमुलेटर स्थापित करने की अनुमति दी और सभी ने बहुत अच्छी तरह से काम किया।

अब मेरी समस्या विकास प्रक्रिया के साथ है।

मैं समझता हूं कि मुझे शीर्ष स्तर की फ़ाइलों को संपादित करना है, न कि ग्रहण में प्रोजेक्ट की संपत्ति निर्देशिका में प्रस्तुत किए गए लोगों के रूप में, क्योंकि ये "बिल्ड" कमांड का उपयोग करके बनाए गए हैं। प्रोजेक्ट की जड़ से ऊपर के रूप में ग्रहण में बनाई गई परियोजना में ये शीर्ष स्तर की फ़ाइलें मौजूद नहीं हैं।

तो, मेरा सवाल है ... क्या मैं इस परियोजना को समझदार तरीके से विकसित करने के लिए ग्रहण का उपयोग कर सकता हूं?

मैं इस समय क्या कर रहा हूं एंड्रॉइड www फ़ाइलों को संपादित कर रहा हूं और फिर क्लाउड बिल्ड पर इसे पंप करने के लिए, मैं उन्हें पेड़ को वापस कॉपी कर रहा हूं। यह पागल लगता है।

क्या वास्तविक फाइलें ग्रहण में उपलब्ध होने का कोई तरीका है ताकि मैं उन्हें विकसित कर सकूं और फिर आसानी से एक एमुलेटर को बना और तैनात कर सकूं?

पीएस यह मेरी कल्पना है या क्या कॉर्डोवा बिल्ड उम्र लेता है!

समाधान

मैं एंड्रॉयड परियोजना जो जड़ में www के स्थान के लिए एक लिंक है अंदर एक फ़ोल्डर गयी। यह फ़ोल्डर बनाने के उन्नत विकल्पों के तहत है।

+2

बिल्ड को स्वचालित करें: प्रोजेक्ट -> गुण -> बिल्डर्स पर राइट क्लिक करें और एक नया (यानी फोनगैप बिल्ड एंड्रॉइड) बनाएं जो परियोजना निर्देशिका से फोनगैप स्थानीय बिल्ड एंड्रॉइड निष्पादित करता है। इससे ग्रहण में डीबग/रन बटन को बस प्रेस करना और डीबगिंग शुरू करना संभव हो जाएगा। इसके अतिरिक्त, आपके मूल www के लिंक का नाम बदलना सुरक्षित हो सकता है। –

+0

क्या आपके पास पथ स्थापित करने में कोई समस्या है? – stevemarvell

+0

नहीं, मैं आसान तरीका चला गया: निर्माता "buildphonegap.cmd" को आमंत्रित करता है, जिसमें मैं प्रोजेक्ट निर्देशिका में सीडी करता हूं और फोनगैप स्थानीय बिल्ड एंड्रॉइड चलाता हूं। –

उत्तर

15

ऐसा करने के लिए, आपको दो अलग ग्रहण परियोजनाओं का उपयोग करना होगा। जिसमें विकास के लिए MyProject/www फ़ोल्डर शामिल है (चलिए इसे 'टॉप-स्तरीय प्रोजेक्ट' कहते हैं) और आपके विशिष्ट प्लेटफ़ॉर्म-प्रोजेक्ट (जैसे एंड्रॉइड, जैसा कि आपने पहले ही किया है) के लिए।

अपने शीर्ष स्तर की परियोजना में, आप अपना कोड लिखते हैं और यदि आपको लगता है, तो आप एक निश्चित डिग्री तक भी डीबग कर सकते हैं (फ़ंक्शन जिन्हें कॉर्डोवा की आवश्यकता नहीं है)। फिर अपने सीएलआई में cordova prepare सहेजें और टाइप करें। फिर आप अपने एंड्रॉइड प्रोजेक्ट पर स्विच कर सकते हैं, रीफ्रेश (एफ 5) हिट कर सकते हैं और एमुलेटर/डिवाइस चला सकते हैं और बग की तलाश कर सकते हैं और एंड्रॉइड-मैनिफेस्ट में बदलाव कर सकते हैं। यदि आप कोड बदलना चाहते हैं, तो अपने शीर्ष-स्तरीय प्रोजेक्ट पर फिर से स्विच करें और फिर से वही करें।

यह थोड़ा असहज लगता है, ठीक है। फिर भी, कॉर्डोवा के बारे में सोचें कि केवल एंड्रॉइड पर विकास के लिए ही नहीं, बल्कि आईओएस, विंडोज फोन, ब्लैकबेरी, ... इन सभी प्लेटफार्मों तक पहुंचने के लिए, आपको वैसे भी कई विचारों पर स्विच करना होगा। एक स्वतंत्र परियोजना में शीर्ष-स्तरीय कोड रखने के लिए, यह बहुत आसान बनाता है।

कुछ sidenodes:

  1. इस प्रक्रिया को कई बार करने के बाद, आप 2 सेकंड cordova prepare से या 3 अधिक नहीं करने के लिए ढीला और परियोजनाओं स्विच करेंगे। ठीक है, मुझे लगता है।

  2. मैं स्वयं अलग ग्रहण परियोजनाओं का उपयोग नहीं करता हूं, मैं विभिन्न ग्रहण प्रतिष्ठानों का भी उपयोग करता हूं।यह मेरे लिए बेहतर ढंग से व्यवस्थित लग रहा था, क्योंकि यह मुझे शीर्ष और निम्न स्तर की फ़ाइलों को भ्रमित करने से बचाता है।

  3. भले ही आप केवल एंड्रॉइड के लिए विकसित हों, आपको दो अलग-अलग परियोजनाओं का उपयोग करना चाहिए, जैसे कि 'कॉर्डोवा तैयार' (या कोई भी क्ली कमांड तैयार, निर्माण, अनुकरण और चलाने के रूप में) आपकी फ़ाइलों को ओवरराइट/हटा देगा।

  4. मेरी स्थापना पर, सीएलआई के साथ इमारत ग्रहण में उतनी ही समय लेती है जितनी ग्रहण में होती है। जो समझ में आता है, क्योंकि मैं दोनों के लिए एक ही एसडीके का उपयोग कर रहा हूं। हालांकि, ऊपर लिखे गए प्रक्रिया में, क्ली-बिल्ड कमांड का उपयोग करने की कोई आवश्यकता नहीं है।

  5. यदि आप केवल एंड्रॉइड प्लेटफ़ॉर्म का उपयोग करते हैं और एक प्रोजेक्ट में समान नाम वाली फ़ाइलों के साथ आसानी से भ्रमित नहीं होते हैं, तो आप अपने एंड्रॉइड प्रोजेक्ट में myApp/www फ़ोल्डर को लिंक कर सकते हैं। इस मामले में, आप केवल एक परियोजना होगा समाधान के अलावा ऊपर (क्रेडिट इस उत्तर के लिए खुद को stevemarvell को जाता है, im सिर्फ इस यहाँ संपूर्णता के लिए जोड़ने)

+0

लंबे और विचार किए गए उत्तर के लिए बहुत धन्यवाद। मैंने आपकी रणनीति अपनाई है और इसे पर्याप्त पाया है। कम से कम अब मुझे पता है कि एक चाल नहीं है जो मुझे याद आ रही है। यह सबसे भ्रमित है कि कॉर्डोवा जेएस फाइलें शीर्ष स्तर पर नहीं हैं, हालांकि यह केवल एक परेशानी है और HTML5/jquery कोड पर ब्राउज़र परीक्षण में नहीं रोका जाता है। मैंने पहले के बाद निर्माण के समय में कमी देखी है, जो अच्छा है। – stevemarvell

+0

@stevemarvell आपका स्वागत है।फिर भी, मुझे आश्चर्य है कि कुछ आखिरकार काम नहीं कर रहा था, क्योंकि आपने इसे पहले स्वीकार करने के बाद मेरा जवाब अस्वीकार कर दिया था ... :) – miwe

+0

हां, यह एक स्वीकार्य उत्तर है, लेकिन मैंने अपना एक पूर्ण समाधान माना। हालांकि, प्रतिबिंब पर, मुझे बुरा लगता है और इसलिए अपडेट होगा :) प्रोटोकॉल पर नया बिट करें। – stevemarvell

0

, मैं एक 'बाहरी उपकरण बनाया 'कॉन्फ़िगरेशन जो' स्थानीय निर्माण एंड्रॉइड 'विकल्पों के साथ फोनगैप उपयोगिता चलाता है और एक पर्यावरण पाथ चर चरम पर सेट करता है'/opt/local/bin:/usr/bin:/bin 'मेरे मैक के लिए। वहां से, मैंने ग्रहण सीडीटी उपकरण स्थापित किए और मंच-विशिष्ट परियोजना पर डीबग कॉल करने से पहले शीर्ष-स्तरीय प्रोजेक्ट से बाह्य उपकरण चलाने के लिए 'लॉन्च ग्रुप' सुविधा का उपयोग किया।

काफी अच्छी तरह से काम करता प्रतीत होता है। दुर्भाग्य से वे शीर्ष-स्तरीय प्रोजेक्ट लॉन्च समूह निष्पादन को 'याद नहीं' करते हैं, इसलिए मुझे इसे हर बार डीबग ड्रॉप-डाउन से चुनना होगा। मैंने शीर्ष-स्तरीय प्रोजेक्ट को एक जावास्क्रिप्ट में एक परीक्षण के रूप में परिवर्तित किया, लेकिन यह प्रतीत नहीं होता है और प्रोजेक्ट प्रॉपर्टीज में 'रन/डीबग सेटिंग्स' सभी गहराई से बाहर हैं।

0

देखें मेरा उत्तर यहाँ: Multiple Html files in PhoneGap Android project

मैं क्यों Phonegap 3.0 CLI साथ Netbeans में ले जाया गया। मेरे वर्कफ़्लो को बेहतर ढंग से उपयुक्त।

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