2012-10-04 14 views
5

से निष्पादन योग्य फ़ाइल चलाने के लिए सक्षम नहीं मैं इस आदेशadb शेल

./adb push ~/tcpdump-4.2.1/tcpdump /data/local 

द्विआधारी सफलतापूर्वक Android डिवाइस में जोड़ा जाता है का उपयोग कर अपने Android डिवाइस के लिए tcpdump बाइनरी फ़ाइल जोड़ दिया है। लेकिन, जब मैं adb शेल से tcpdump फ़ाइल निष्पादित करने के लिए, निम्न कमांड

./adb shell 
cd data/local 
./tcpdump 

यह मेरे

/system/bin/sh: ./tcpdump: not executable: magic 7F45 

मैं भी chmod 777 tcpdump लेकिन व्यर्थ का उपयोग कर अनुमतियां बदलने की कोशिश की है इस त्रुटि देता है का उपयोग करके देखें । मैं इस मुद्दे को कैसे दूर करूं? धन्यवाद।

+0

आप इसे कैसे संकलित करते हैं? – Arseniy

+0

chmod आपको क्या त्रुटि देता है? आप इसे एसडीकार्ड पर धक्का दे सकते हैं, इसे वहां chmod, फिर इसे स्थानांतरित करें (मुझे लगता है)। क्या तुम जड़ हो – njzk2

+0

मैं एंड्रॉइड टर्मिनल एमुलेटर का उपयोग करता हूं। यह busybox के साथ आता है जिसमें tcpdump – Sharun

उत्तर

4

आप tcpdump here का एक एंड्रॉइड संस्करण पा सकते हैं। यह बिल्ड कुछ हद तक पुराना है, और केवल एआरएम उपकरणों के लिए प्रासंगिक है। official source से बाइनरी बनाने के लिए आपको these instructions का पालन करना चाहिए।

tcpdump को एंड्रॉइड पर चलाने के लिए कैसे हैं। ध्यान दें कि आपको शुरू करने के लिए रूट डिवाइस की आवश्यकता है।

+1

इसके अलावा, इस लिंक को चेक करें। इसका एक हिस्सा बताता है कि स्रोत का उपयोग करके बांह डिवाइस के लिए बाइनरी कैसे बनाएं। बड़ी मदद। http://codeseekah.com/2012/08/07/port-forwarding-an-android-local-port/ – FireAndIce

+1

tcpdump का लिंक बनाया गया संस्करण संस्करण 4.0 है जो थोड़ा पुराना है। आप यहां संस्करण 4.3 का एआरएम निर्माण डाउनलोड कर सकते हैं: http://omappedia.org/wiki/File:Tcpdump-4.3.0-arm.tar.gz – georgiecasey

1

से GCC के माध्यम से बाइनरी फ़ाइलें संकलन चाहिए निम्न आदेश का प्रयास करें:

लिनक्स के लिए इस आदेश c:\ProgramFiles\Android\android-sdk\platform-tools\adb shell tcpdump

दर्ज करें:

adb shell chmod 6755 /data/local/tmp/tcpdump 

है और यह भी इस लिंक के माध्यम से जाना बेहतर समझने के लिए:

http://www.kandroid.org/online-pdk/guide/tcpdump.html

+0

मैं उबंटू का उपयोग करता हूं। फिर भी मैंने इसे इस तरह से आजमाया ./adb shell/data/local/tcpdump। यह मुझे ऊपर वर्णित एक ही त्रुटि देता है। – FireAndIce

+0

मैंने उत्तर पोस्ट किया है, कृपया जांचें और मुझे बताएं ... tcpdump फ़ाइल के लिए अपना रास्ता दर्ज करें –

0

मुझे एंड्रॉइड एमुलेटर में एक और बाइनरी चलाने की कोशिश करने में एक ही त्रुटि मिली। संकलन से त्रुटि आई।

आपको एआरएम लक्ष्य के लिए क्रॉस-संकलन करना है जिसका अर्थ है कि आपको एक विशिष्ट टूलचेन की आवश्यकता है जैसे उदाहरण के लिए arm-linux-androideabi।

ऐसा करने के लिए, आप

  • निर्यात CROSS_COMPILE की जरूरत = हाथ-linux-androideabi- (अपने toolchain द्वारा न खत्म होने वाली '-' जीसीसी) के बिना
  • निर्यात ARCH = हाथ
  • toolchain जोड़ने आपके पैथ

फिर आप कमांड चला सकते हैं। आप इमारत से पहले एलडीएफएलजीएस में -स्टैटिक जोड़ना चाह सकते हैं।

अंत में फ़ाइल बाइन का उपयोग करके अपनी बाइनरी को अच्छी तरह से संकलित किया गया है। आपको मुद्रित परिणाम में एआरएम की तलाश करनी चाहिए।

मामले Makefile CROSS_COMPILE वर संभाल नहीं है कि आप मापदंडों सीसी और एआर मैन्युअल "$ क्रॉस-संकलन" जीसीसी और ए आर

अधिक जानकारी के लिए यहाँ "$ क्रॉस-संकलन" के साथ सेट के साथ बनाने की कोशिश कर सकते हैं: http://source.android.com/source/index.html