2012-01-02 14 views
24

क्यू 1 पर सी/सी ++ प्रोग्राम को संकलित और चलाने के लिए कैसे करें) मैं एंड्रॉइड एमुलेटर पर एक साधारण सी प्रोग्राम चलाने के लिए चाहता हूं। मैं अपनी मशीन पर windows xp ओएस का उपयोग कर रहा हूं। मैंने एंड्रॉइड विकास के लिए sdk, jdk, eclipse स्थापित किया है और एवीडी पर एंड्रॉइड एप्लिकेशन चलाने में सफल रहा है।एंड्रॉइड सिस्टम

Q2) मैं सिर्फ जानने की जरूरत वहाँ AVD पर एक सी कार्यक्रम (किसी भी जावा के बिना चलाने के लिए) किसी भी तरह से है। मेरी मशीन पर मैंने हाथ स्थापित किया है और इसका उपयोग करके मैंने एक सी प्रोग्राम संकलित किया है।

Q3) मैं भी जानना चाहता हूँ यह Android डिवाइस या AVD और चलाने में संकलित बाइनरी पुश करने के लिए Android डिवाइस या AVD के टर्मिनल का उपयोग कर सकता है?

उत्तर

4

आपको Native Development Kit डाउनलोड करने की आवश्यकता है।

+0

मैंने इसे पहले से ही किया है .. लेकिन मुझे कुछ भी उपयोगी नहीं मिला है जो आगे करना है? – user1125898

+0

@ user1125898 - आपका क्या मतलब है कि आपको कुछ भी उपयोगी नहीं मिला है? एनडीके वास्तव में सी/सी ++ में मूल कोड लिखने के उद्देश्य से है। मेरे द्वारा प्रदान किए गए लिंक के नीचे स्क्रॉल करें और आपको प्रारंभ करने पर एक अनुभाग दिखाई देगा, साथ ही एनडीके चर्चा समूह के लिए एक लिंक भी देखेंगे। –

8

अगर आप NDK स्थापित किया है सफलतापूर्वक उसके बाद नमूना आवेदन यह के साथ शुरू

http://developer.android.com/sdk/ndk/overview.html#samples

यदि आप रुचि रखते हैं तो इस में मदद मिलेगी सकता है इस का एक और तरीके

http://shareprogrammingtips.com/c-language-programming-tips/how-can-i-write-applications-in-c-or-c-for-android/

मैं भी चाहता हूँ यह जानने के लिए संकलित बाइनरी को एंड्रॉइड डिवाइस या एवीडी में धक्का देना और एंड्रॉइड डिवाइस या एवीडी के टर्मिनल का उपयोग करना संभव है?

यहाँ आप देख सकते हैं NestedVM

NestedVM जावा बाईटकोड के लिए द्विआधारी अनुवाद प्रदान करता है। यह एक एमआईपीएस बाइनरी के लिए जीसीसी संकलन करके किया जाता है जिसे तब जावा क्लास फ़ाइल में अनुवादित किया जाता है। इसलिए सी, सी ++, फोरट्रान या जीसीसी द्वारा समर्थित किसी भी अन्य भाषा में लिखे गए किसी भी आवेदन को 100% शुद्ध जावा में चलाया जा सकता है जिसमें कोई स्रोत परिवर्तन नहीं होता है।


उदाहरण: Cross compile Hello world C program and run it on android

12

आप एक हाथ पार संकलक के साथ अपने सी कार्यक्रमों संकलन कर सकते हैं:

arm-linux-gnueabi-gcc -static -march=armv7-a test.c -o test 

तो फिर तुम कहीं करने के लिए अपने संकलित बाइनरी फ़ाइल धक्का कर सकते हैं (धक्का नहीं है यह एसडी कार्ड में):

adb push test /data/local/tmp/test 
+1

मुझे 'घातक: कर्नेल बहुत पुराना मिला।सेगमेंटेशन गलती '। मेरा उबंटू में कर्नेल 3.2.0-38 है जबकि एंड्रॉइड आमतौर पर 2.6.xx पर चलता है क्या आप जानते हैं कि संकलक को पुरानी ग्लिब के साथ बाइनरी को स्थिर रूप से लिंक करने के लिए कैसे मजबूर करना है? –

+0

@TranSonHai: आपको एंड्रयू एनडीके और इसकी 'बायोनिक' रनटाइम लाइब्रेरी का उपयोग उबंटू टूूलचेन के बजाय करना चाहिए। –

+1

'-march = armv7' को '-march = armv7-a' में बदला जाना चाहिए। – Javad

0

यदि आप वान करते हैं अपने एंड्रॉइड डिवाइस पर सीधे जावा/सी/सी ++ ऐप्स को संकलित और चलाने के लिए, मैं Google Play से Terminal IDE वातावरण की अनुशंसा करता हूं। यह सीधे आपके डिवाइस पर एंड्रॉइड एपीके, जावा, सी और सी ++ को विकसित और संकलित करने के लिए एक बहुत ही हल्का पैकेज है। इंटरफ़ेस सभी कमांड लाइन और "vi" आधारित है, इसलिए इसमें वास्तविक लिनक्स महसूस होता है। यह gnu सी/सी ++ कार्यान्वयन के साथ आता है।

इसके अतिरिक्त, एक टेलनेट और टेलनेट सर्वर एप्लिकेशन बनाया गया है, ताकि आप अपने पीसी और बड़े कीबोर्ड के साथ सभी प्रोग्रामिंग कर सकें, लेकिन डिवाइस पर काम कर सकें। कोई रूट अनुमति की आवश्यकता नहीं है।

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