ग्रहण में Android एमुलेटर से मेरे http: // localhost वेब सर्वर से कैसे जुड़ें


485

मैं ग्रहण के Android एमुलेटर में क्या कर सकते हैं मेरे स्थानीय होस्ट वेब सर्वर पृष्ठ के लिए यह कम से कनेक्ट करने के लिए http://localhostया http://127.0.0.1?

मैंने इसे आजमाया है, लेकिन एमुलेटर अभी भी मेरे अनुरोध को स्थानीय खोज के लिए Google खोज की तरह लेता है या इससे भी बदतर यह कहता है कि यह पृष्ठ नहीं मिला जबकि मेरा वेब सर्वर सामान्य रूप से चल रहा है।


यह प्रश्न एंड्रॉइड एमुलेटर के बारे में है और इसमें उस मामले पर लागू समाधान हैं । यदि आप एक भौतिक Android डिवाइस का उपयोग करते समय इस समस्या का सामना करते हैं , तो इसके बजाय कृपया देखें stackoverflow.com/questions/4779963/…
क्रिस स्ट्रैटन

जवाबों:


819

लोकलहोस्ट उस डिवाइस को संदर्भित करता है जिस पर कोड चल रहा है, इस मामले में एमुलेटर।

यदि आप उस कंप्यूटर को संदर्भित करना चाहते हैं जो एंड्रॉइड सिम्युलेटर चला रहा है, तो इसके बजाय आईपी ​​पते का उपयोग करें 10.0.2.2

यहाँ छवि विवरण दर्ज करें

आप यहाँ से और अधिक पढ़ सकते हैं ।


12
अन्य प्रश्न का जिक्र क्यों? बस लिंक एंड्रॉइड एमुलेटर नेटवर्किंग
मार्विन एमिल ब्रेक जूल

लिंक को इंगित करने के लिए धन्यवाद। मुझे लगता है कि जब उत्तर पोस्ट किया गया था तो यह वहां नहीं था।
प्रिमपपचन

1
@primpap: क्या मैं आईपी पते के बजाय मशीन के नाम का उपयोग कर सकता हूँ ??
KJEjava48

@primpap यह मोबाइल डीबगिंग के साथ काम नहीं कर रहा है। क्या कोई और है? या मैं कहीं गलती कर रहा हूं क्योंकि 10.0.2.2 एमुलेटर पर काम कर रहा है लेकिन जब मैं यूएसबी डिबगिंग के लिए मोबाइल कनेक्ट करता हूं तो काम नहीं करता। ?
जवाद ज़ब

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

156

10.0.2.2डिफ़ॉल्ट AVD और के 10.0.3.2लिए उपयोग करें


तो क्या हम सिर्फ 10.0.3.2अपनी होस्ट फ़ाइल में जोड़ते हैं ?
अय्यज

29

मैंने अपने घर की मशीन पर सफलतापूर्वक 10.0.2.2 का उपयोग किया, लेकिन काम पर, यह काम नहीं किया। घंटों तक बेवकूफ बनाने के बाद, मैंने एंड्रॉइड वर्चुअल डिवाइस (AVD) प्रबंधक का उपयोग करके एक नया एमुलेटर उदाहरण बनाया , और अंत में 10.0.2.2 काम किया।

मुझे नहीं पता कि अन्य एमुलेटर उदाहरण के साथ क्या गलत था (प्लेटफ़ॉर्म एक ही था), लेकिन अगर आपको लगता है कि 10.0.2.2 काम नहीं करता है, तो एक नया एमुलेटर उदाहरण बनाने का प्रयास करें।


4
नई AVD आवृत्ति बनाने के बाद भी Unfortunatelly मेरे लिए काम नहीं करता है। आपकी क्या सलाह है? सब कुछ पुनः स्थापित करने के लिए?
व्लादो पांडेसिक

23

कोशिश करें http://10.0.2.2:8080/कि 8080आपका पोर्ट नंबर कहां है। इसने पूरी तरह से काम किया। यदि आप बस कोशिश करते हैं तो 10.0.2.2यह काम नहीं करेगा। आपको इसमें पोर्ट नंबर जोड़ना होगा। यदि Microsoft IIS स्थापित किया गया है, तो उस सुविधा को नियंत्रण कक्ष से बंद करने का प्रयास करें (यदि कोई विंडोज़ ओएस का उपयोग कर रहा है) और फिर ऊपर दिए गए अनुसार प्रयास करें।


2
यदि पृष्ठों को IIS पर होस्ट किया जाता है तो क्या होगा?
मारकुजा-रस

@ मिर्मा सिर्फ यह पता लगाता है कि आपका IIS सर्वर किस पोर्ट पर काम करता है, तो 10.0.2.2:your_iis_port
StoneLam

यह एक पूर्ण स्ट्रिंग है और केवल मेरे एंड्रॉइड 8.1 एमुलेटर पर काम किया गया है
कोडटॉयलाइफ

10

प्रलेखन के अनुसार:

10.0.2.2 - अपने मेजबान लूपबैक इंटरफ़ेस के लिए विशेष उपनाम (यानी, आपके विकास मशीन पर 127.0.0.1)

एमुलेटर नेटवर्किंग पर अधिक ट्रिक्स के लिए एमुलेटर नेटवर्किंग की जाँच करें।



3

मुझे एमुलेटर "नोक्स ऐप प्लेयर" के लिए सिस्टम होस्ट आईपी एड्रेस का पता लगाने की आवश्यकता थी। यहाँ है कि मैं यह कैसे पता लगा था 172.17.100.2

  1. ऐप स्टोर से एंड्रॉइड टर्मिनल एमुलेटर इंस्टॉल किया गया
  2. ip link showसभी नेटवर्क इंटरफेस दिखाने के लिए इश्यू कमांड। विशेष रूचि का eth1 इंटरफ़ेस था
  3. इश्यू ifconfig eth1कमांड, जैसा नेट दिखाता है172.17.100.15/255.255.255.0
  4. 172.17.100.1पिंगिंग पतों को शुरू करना शुरू करें , `172.17.100.2 'पर हिट हुआ। निश्चित नहीं है कि अगर कोई फ़ायरवॉल हस्तक्षेप करेगा लेकिन यह मेरे मामले में नहीं था

शायद यह किसी और एमुलेटर के लिए यह पता लगाने में मदद कर सकता है।


1

यदि आप खिड़कियों में हैं तो आप सिंबल सिस्टम पर जा सकते हैं और ipconfig लिख सकते हैं और जांच सकते हैं कि आपकी मशीन को कौन सा आईपी सौंपा गया है।


एमुलेटर से डिबगिंग करते समय यह आवश्यक नहीं है, क्योंकि आप अन्य उत्तरों में उद्धृत होस्ट लूपबैक इंटरफ़ेस के लिए विशेष उपनाम का उपयोग कर सकते हैं। हालाँकि अगर किसी भौतिक एंड्रॉइड डिवाइस से डिबगिंग होती है, तो हाँ, आपको अपने परीक्षण सर्वर का वास्तविक पता निर्धारित करने और उसका उपयोग करने की आवश्यकता है।
क्रिस स्ट्रैटन

1

आप वास्तव में उपयोग कर सकते हैं localhost:8000जब आप अपने एमुलेटर (केवल मैक पर परीक्षण) चलाते हैं तो आप हर बार कमांड के नीचे चलकर अपनी मशीन के लोकलहोस्ट से कनेक्ट करने के लिए :

adb reverse tcp:8000 tcp:8000

बस इसे एंड्रॉइड स्टूडियो टर्मिनल में डालें।

यह मूल रूप से एक रिवर्स प्रॉक्सी सेट करता है जिसमें आपके फोन पर चलने वाला एक http सर्वर एक पोर्ट पर कनेक्शन स्वीकार करता है और उन्हें आपके कंप्यूटर या इसके विपरीत वायर करता है।


0

मुझे नहीं पता, शायद यह विषय पहले से ही हल है, लेकिन जब मैंने हाल ही में विंडोज मशीन पर ऐसा करने की कोशिश की है, तो मुझे बहुत कठिनाइयों का सामना करना पड़ा है। इसलिए मेरा समाधान वास्तव में सरल था। मैंने यह सॉफ्ट http://www.lenzg.net/rinetd/rinetd.html डाउनलोड किया है किया है और पोर्ट फॉरवर्डिंग बनाने के उनके निर्देशों का पालन किया और फिर सफलतापूर्वक अपने android डिवाइस को asp.net localhost प्रोजेक्ट बनाने के लिए कनेक्ट किया और अपने ब्रेकिंग पॉइंट पर रुक गया।

मेरी rinetd.conf फ़ाइल:

10.1.1.20 1234 127.0.0.1 1234
10.1.1.20 82 127.0.0.1 82

जहाँ 10.1.1.20 मेरी लोकलहोस्ट आईपी, 82 और 1234 मेरे पोर्ट्स हैं। इसके अलावा मैंने आसान जीवन के लिए अपने ब्युटीफुल फ़ाइल को चुना है। yournameofbathfile.bat, उस फाइल को rinedfolder के अंदर रखें। मेरी स्नान फ़ाइल:

rinetd.exe -c rinetd.conf

इस नरम को शुरू करने के बाद, अपने aps.net सर्वर को शुरू करें और अपने स्थानीय नेटवर्क में एंड्रॉइड डिवाइस या किसी भी डिवाइस से पहुंचने का प्रयास करें (उदाहरण के लिए कंप्यूटर एबीसी पोटीन शुरू होता है) और आप देखेंगे कि सब कुछ काम करता है। राउटर सेटिंग में जाने या किसी अन्य जटिल चीजों को करने की आवश्यकता नहीं है। उम्मीद है इससे आपको मदद मिलेगी। का आनंद लें।


-1

एक और समाधान यह है कि no-ip.org से एक मुफ्त डोमेन प्राप्त करें और इसे अपने स्थानीय आईपी पते पर इंगित करें। फिर, उपयोग करने के बजाय http://localhost/yourwebserviceआप कोशिश कर सकते हैंhttp://yourdomain.no-ip.org/yourwebservice

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.