android ग्रहण और फोनगैप/कॉर्डोवा 3 के साथ विकास



eclipse cordova (2)

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

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

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

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

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

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

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

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

उपाय

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

https://ffff65535.com


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

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


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

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

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

कुछ sidenodes:

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

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

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

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

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





cordova-3