2012-11-27 15 views
26

पर लिनक्स बाइनरी निष्पादित करने का प्रयास करने वाली कोई ऐसी फ़ाइल या निर्देशिका नहीं है, मैंने एंड्रॉइड जीसीसी टूलचेन (सादा लिनक्स, नो एंड्रॉइड या एनडीके) का उपयोग करके मूल लिनक्स एआरएम बाइनरी बनाया है।एंड्रॉइड डिवाइस

मैंने अपने पीसी से, एडीबी शैल के माध्यम से एंड्रॉइड चलाने वाले टैबलेट पर कनेक्ट किया है। मैं उस उपकरण पर बाइनरी/सिस्टम/बिन में बाइनरी डालता हूं, उम्मीद करता हूं कि मैं इसे निष्पादित कर दूंगा। मैंने इसे chmod 777 के साथ निष्पादन योग्य चिह्नित किया।

यदि मैं इसे निष्पादित करने का प्रयास करता हूं, तो मुझे "ऐसी कोई फ़ाइल या निर्देशिका" नहीं मिलेगी।

और जानकारी: छोटा प्रोग्राम एफसी और एफएम libs का उपयोग करता है। चूंकि एआरएम टूलचेन में सीआरटी 1 नहीं दिखता है, जो कि मैंने पाया एक उदाहरण से, आमतौर पर स्टार्टअप कोड होता है, हमने एंड्रॉइड बिल्ड में इसे शामिल फाइलों के माध्यम से खोजा, crtbegin_dynamic और crtend_dynamic पाया, लेकिन _static समकक्ष के लिए, जोड़ी में से एक गायब था, इसलिए मैंने जीसीसी को पास नहीं किया। यह "-nostdlib" के साथ बनाया गया था।

समस्या क्या हो सकती है?

+4

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

उत्तर

49

यदि आप उबंटू 64 जैसे 64-बिट प्लेटफ़ॉर्म पर काम कर रहे हैं, तो यह युक्ति आपको समस्या को हल करने में मदद कर सकती है। बस i386 32-बिट संगत बस apt-get के साथ स्थापित पुस्तकालयों प्राप्त करने की कोशिश:

sudo apt-get install ia32-libs 

यह मेरे लिए महान काम किया। अगर आप एक ही परेशानी में फंस गए हैं तो मुझे बताएं।

उबंटू 13.10 के लिए या अधिक से अधिक

आदित्य के रूप में यह जवाब देने के लिए टिप्पणी में कहा:

उबंटू 13.10 के रूप में, एक अब इस चलाने के लिए है: sudo apt-get install lib32z1, तो आप प्राप्त करने की आवश्यकता हो सकती है सी ++ भी stdlibs, इस के साथ: sudo apt-get install lib32ncurses5 lib32stdc++6

+3

मैं इसे दूसरा कर सकता हूं। –

+0

समस्या को हल करता है! –

+11

उबंटू 13.10 के रूप में, ऐसा लगता है कि ia32-libs को निम्न पैकेज द्वारा प्रतिस्थापित किया गया है। एक अब इस चलाने के लिए है: 'sudo apt-get स्थापित lib32z1' मैं सी पाने के लिए था ++ भी stdlibs, इस के साथ: ' उपयुक्त sudo- मिल स्थापित lib32ncurses5 lib32stdC++ 6' – aditya

2

ऊपर आदित्य की टिप्पणी में संशोधन करने के लिए, आप भी उबंटू 13.10 में सी ++ stdlibs लिए निम्न का उपयोग कर सकते हैं:

sudo apt-get install lib32ncurses5 libstdc++6:i386 
+2

इसके पास पूछे गए प्रश्न से कोई लेना-देना नहीं है, जो एंड्रॉइड पर निष्पादन योग्य चलने से संबंधित है - एक लिनक्स जो डेबियन पैकेजिंग सिस्टम का उपयोग नहीं करता है। –

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