2015-12-23 11 views
27

इसलिए मैंने एंड्रॉइड एमुलेटर से बाहर आने वाले ट्रैफ़िक की निगरानी के लिए charles proxy सेट अप किया है।एंड्रॉइड एमुलेटर नेटवर्क कॉन्फ़िगरेशन

अब जब मैं एंड्रॉइड ब्राउज़र में वेबसाइट खोलता हूं उदाहरण के लिए: - google.com मैं charles प्रॉक्सी में google.com देखता हूं।

लेकिन जब मैं एमुलेटर में एक ऐप खोलता हूं (इंस्टाग्राम ऐप कहता हूं) और यदि ऐप कुछ नेटवर्क कॉल करता है, तो मुझे चार्ल्स प्रॉक्सी पर आईपी पते दिखाई देता है, न कि डोमेन नाम।

क्योंकि किस एप्लिकेशन मुझे कुछ का एक त्रुटि देता है गलत आदि चला गया

किसी को भी मुझे बता सकते हैं कैसे एंड्रॉयड एमुलेटर के DNS कॉन्फ़िगरेशन को बदलने के लिए इतना है कि यह आईपी पतों की बजाय होस्ट नामों भेजता है?

या इस समस्या का कोई अन्य समाधान।

धन्यवाद

+0

अपने Android लिनक्स या विंडोज़ पर चलने वाले एमुलेटर है? यह linux पर /etc/resolv.conf को देखता है, आप इसे मैन्युअल रूप से सेट करने के लिए कमांड लाइन पर -dns-server xx.xx.xx.xx का भी उपयोग कर सकते हैं। क्या यह किसी चेतावनी संदेश को आउटपुट करता है कि उसे DNS सर्वर नहीं मिल रहा है? क्या सुनिश्चित हैं कि आईपी पते वाले पैकेट Instagram या जो भी हो जैसे ऐप्स से आ रहे हैं? – ozborn

+0

@ozborn मैं मैक का उपयोग कर रहा हूँ। मुझे यकीन है कि पैकेट Instagram से आ रहे हैं और मैंने बिना किसी सफलता के अन्य डीएनएस सर्वर (8.8.8.8) स्थापित करने का भी प्रयास किया है। क्या आपको मौका है कि नेटवर्किंग वास्तव में एंड्रॉइड एमुलेटर में कैसे काम करता है? क्योंकि जब मैं एंड्रॉइड ब्राउज़र से साइटों तक पहुंचने का प्रयास करता हूं तो मैं चार्ल्स प्रॉक्सी निगरानी पर होस्टनाम देख सकता हूं .पर जब मैं ऐप का उपयोग करता हूं तो आईपी पते आते हैं। – azero0

+0

मुझे पता है कि DNS और नेटवर्किंग कैसे काम करती है, लेकिन थोड़ी देर में एंड्रॉइड एमुलेटर से गड़बड़ नहीं हुई है। मुझे यकीन नहीं है कि DNS भी समस्या है या आप अपने चार्ल्स प्रॉक्सी के साथ DNS ट्रैफ़िक देखने की उम्मीद करेंगे, अगर आपका नेटवर्किंग सही तरीके से कॉन्फ़िगर किया गया है और आप अपने DNS सर्वर से उचित राउटर पते वापस ले लेंगे तो आपके ऐप को काम करना चाहिए। यदि आप अपने एमुलेटर कंसोल पर "nslookup google.com 10.0.2.3" करते हैं तो आपको क्या मिलता है? – ozborn

उत्तर

0

एंड्रॉयड एमुलेटर कि आईपी पतों की बजाय होस्ट नामों प्राप्त कर सकते हैं के DNS कॉन्फ़िगरेशन बदलने का कोई तरीका नहीं है, प्रॉक्सी का उपयोग करने ही एकमात्र विकल्प अन्य अतः धागे here पर समझाने है।

मुझे यकीन है कि पैकेट Instagram से आ रहे हैं और/या हो सकता है कि वे सुरक्षा उद्देश्य के लिए कुछ फ़ायरवॉल का उपयोग करें।

0

यह एमुलेटर के साथ संभव नहीं है लेकिन आप इसके लिए GENYMOTION का उपयोग कर सकते हैं। ऑनलाइन एमुलेटर का उपयोग करने के लिए जेनिमोशन बहुत अच्छा टूल है।

enter image description here

आप सेटिंग> नेटवर्क में प्रॉक्सी सेट कर सकते हैं।

enter image description here

कोशिश है कि इस आशा है आप में मदद मिलेगी।

+0

मुझे पता है कि यह genymotion के साथ काम करता है मैं इसे नियमित एंड्रॉइड एमुलेटर के साथ काम करना चाहता था .. – azero0

0

लिनक्स उपयोगकर्ता के लिए

हम एमुलेटर उपयोग करने में सक्षम नहीं कर सकते हैं एंड्रॉयड स्टूडियो से शुरू हम इस 2 आदेशों

Android SDK Tools के लिए पहला कदम dir

$ cd /home/..../Android/Sdk/tools 
का उपयोग कर टर्मिनल से एमुलेटर शुरू कर दिया है

दूसरा इस एमएमडी

का उपयोग करके अपना एमुलेटर शुरू करें।/ एमुलेटर -avd Emulator_name -http-प्रॉक्सी http: // उर आईपी पते: बंदरगाह/

Emulator_name: खुले AVD प्रबंधक दूसरे स्तंभ आप एम्यूलेटर नाम मिल जाएगा, अगले आप रिक्त स्थान को बदलने के लिए अंडरस्कोर

तरह नेक्सस 5 एपीआई के साथ नाम के बीच में 22 ->Nexus_5_API_22

उदाहरण के लिए: $ ./emulator -avd Nexus_5_API_22 -http-proxy http://12.1.0.222:8888/

-2

आप आईपी पता प्राप्त करने के लिए 'पिंग' कमांड का उपयोग कर सकते हैं।

1

अपने एमुलेटर के अंदर - सेटिंग्स पर जाएं -> नेटवर्क & इंटरनेट -> मोबाइल नेटवर्क -> एक्सेसपॉइंट नाम। और उसके बाद इसे संपादित करने के लिए अपना नेटवर्क चुनें और चार्ल्स के कंप्यूटर के आईपी और पोर्ट को रखें।

पॉक्सी के साथ एमुलेटर खोलना याद रखें। emulator with proxy

1

आप एमुलेटर शुरू करते समय -http-proxy विकल्प के साथ कमांड लाइन से प्रॉक्सी कॉन्फ़िगर कर सकते हैं। इस मामले में, आप इन स्वरूपों में से एक में में प्रॉक्सी जानकारी निर्दिष्ट करें:

http://<machineName>:<port> 

या

http://<username>:<password>@<machineName>:<port> 

-http-प्रॉक्सी विकल्प बाहर जाने वाले सभी के लिए निर्दिष्ट HTTP/HTTPS प्रॉक्सी का उपयोग करने एमुलेटर बलों टीसीपी कनेक्शन। यूडीपी के लिए पुनर्निर्देशन वर्तमान में समर्थित नहीं है।

वैकल्पिक रूप से, आप उस पर्यावरण के लिए पर्यावरण चर http_proxy को परिभाषित कर सकते हैं जिसका आप उपयोग करना चाहते हैं। इस मामले में, आपको -http-proxy कमांड में मान निर्दिष्ट करने की आवश्यकता नहीं है - एमुलेटर स्टार्टअप पर http_proxy पर्यावरण चर के मान की जांच करता है और परिभाषित होने पर स्वचालित रूप से इसका मान उपयोग करता है।

आप प्रॉक्सी कनेक्शन समस्याओं का निदान करने के लिए -debug-proxy विकल्प का उपयोग कर सकते हैं।

आपके पास इस विषय के बारे में यहाँ और अधिक विवरण प्राप्त कर सकते हैं:

https://developer.android.com/studio/run/emulator-networking.html 
संबंधित मुद्दे