Android API जावा हैं। 2010 के बाद से, Google C / C ++ डेवलपर्स के लिए NDK (एक SDK) प्रदान करता है।
NDK दो तरीके प्रदान करता है:
- Android 1.5 उपकरणों के लिए, आप एक योगिनी लाइब्रेरी को लोड कर सकते हैं और इसे JNI ब्रिज के माध्यम से जावा एप्लिकेशन से उपयोग कर सकते हैं
- एंड्रॉइड 2.3 उपकरणों के लिए, आप फुलस्क्रीन एप्लिकेशन के लिए जावा गतिविधि कोड को बायपास करने के लिए एक NativeActivity का उपयोग कर सकते हैं।
NDK कुछ C / C ++ API प्रदान करता है:
- एक छद्म परिवाद जिसे बायोनिक कहा जाता है: कई कार्य उपलब्ध नहीं हैं
- एक पुस्तकालय
- OpenGL ES 1.x (> Android 1.5) और OpenGL ES 2.x (Android 2.0)
- OpenSL (Android 2.3 पर सीमित समर्थन)
लेकिन कई एपीआई केवल जावा (जेएनआई के माध्यम से भी उपलब्ध हैं) हैं।
NDK 5 संस्करण C ++ डेवलपर्स के लिए पहला प्रयोग करने योग्य है क्योंकि यह प्रदान करता है:
- RTTI
- अपवाद समर्थन करता है
- STLport
- बहु थ्रेडेड प्रोग्राम के लिए gdb समर्थन
सबसे दर्दनाक ऑपरेशन एंड्रॉइड डिवाइस पर डिबगिंग है। इसलिए मैं अपने खुद के मल्टी-प्लेटफॉर्म फ्रेमवर्क (ओएस एक्स, विंडोज, लिनक्स, आईओएस और एंड्रॉइड) को पहले डेस्कटॉप प्लेटफॉर्म, अगले आईओएस प्लेटफॉर्म (सिम्युलेटर) और लास्ट (एंड्रॉइड) पर डिबग करने के लिए विकसित करता हूं।
Android एमुलेटर (एक सिम्युलेटर नहीं) का प्रदर्शन खराब है और OpenGL ES 2.x का अनुकरण नहीं कर सकता है। मैं वास्तविक उपकरणों को विकसित करने की सलाह देता हूं।
आप कई उपयोगी सुझाव पा सकते हैं: