2012-12-21 18 views
5

के लिए एड एयर एयर देशी एक्सटेंशन में सी ++ लाइब्रेरी लपेट सकता हूं क्या मैं एडोब एयर देशी एक्सटेंशन आईओएस/एंड्रॉइड में सी ++ लाइब्रेरी लपेट सकता हूं?क्या मैं मोबाइल आईओएस/एंड्रॉइड

मेरे पास एक सी ++ लाइब्रेरी है जो तीसरे पक्ष द्वारा लिखी गई थी। मैं मोबाइल के लिए एडोब एयर देशी एक्सटेंशन के लिए उस लाइब्रेरी का उपयोग करना चाहता हूं? क्या मैं इसे करने में सक्षम हूं। यदि हां, तो मुझे कुछ दिशानिर्देश कहां मिल सकते हैं?

उत्तर

2

मैं प्रश्न के एंड्रॉइड हिस्से का जवाब देने का प्रयास करूंगा।

मैंने नहीं देखा है यह एडोब एयर प्रलेखन कि यह संभव है में स्पष्ट रूप से बताया है, लेकिन एडोब एयर, खंड Packaging a native extension: Building the native library के लिए Adobe मदद डॉक्स में, यह कहते हैं:

एंड्रॉयड देशी पुस्तकालयों: जब आप एंड्रॉयड NDK, (आदि) एक फ़ाइल नाम के साथ एक साझा पुस्तकालय प्रदान के रूप में निम्नानुसार

NDK जैसा कि आप जानते हो सकता है की मदद से आप सी ++ सहित देशी-कोड भाषाओं का उपयोग कर अपने Android एप्लिकेशन के कुछ हिस्सों को लागू करने का उपयोग करें।

मैं इसे दस्तावेज़ों में संदर्भ में लेता हूं इसका मतलब है कि यह संभव है। शुरुआती बिंदु के रूप में, मैं एनडीके के विवरण से परिचित हूं।

हालांकि यह कैसे आगे बढ़ने के बारे में एक विस्तृत दिशानिर्देश नहीं है, मुझे उम्मीद है कि यह सही दिशा में एक सूचक प्रदान करेगा।

+0

प्रश्न के एडोब एयर भाग के अलावा, मूल पुस्तकालय वास्तविक रूप से प्रयोग योग्य नहीं होगा जब तक कि यह पहले से ही एंड्रॉइड एबीआई के वांछित वर्गीकरण के लिए एनडीके टूलचेन के साथ संकलित नहीं किया गया था, या स्रोत रूप में उपलब्ध नहीं था। स्पष्टीकरण के लिए –

+0

@ क्रिस स्ट्रैटन धन्यवाद। –

2

सी ++ लाइब्रेरी को लपेटने के लिए एएनई बनाने का एक विकल्प इसे नए एडोब "सी ++ टू फ्लैश" कंपाइलर (जिसे पहले अल्किमी के नाम से जाना जाता है) का उपयोग करके फ्लैश बाइटकोड में संकलित करना है। यह एक एसएफएफ उत्पन्न कर सकता है जिसे आप बाद में एक्शनस्क्रिप्ट से कॉल कर सकते हैं। यहां एक tutorial है जो बताता है कि इसे कैसे करें। और here इसकी आधिकारिक वेबसाइट है।

0

आईओएस के लिए आप सी लाइब्रेरी का उपयोग कर सकते हैं यदि आप इसे सांख्यिकीय रूप से लिंक कर सकते हैं। आईओएस पर एएनई गतिशील लिंकिंग का समर्थन नहीं करता है (3.2 के रूप में सुनिश्चित नहीं है कि नई रिलीज में कुछ बदल गया है)। एक्सकोड में स्टेटिक लिंकिंग काफी आसान प्रक्रिया है, बस इसे गूगल करें।

Android के लिए

:

आप फाइल .so आप जावा में अपने ANE लिख सकते हैं और अपने cpp पुस्तकालय से बात करने JNI (System.loadLibrary) का उपयोग कर सकते हैं। सीपीपी में एएनई लिखने से बेहतर है। अधिक जानने के लिए ane documentation "एएनई पैकेज में अतिरिक्त एंड्रॉइड साझा .so पुस्तकालयों सहित" देखें।

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