Eclipse এ অ্যান্ড্রয়েড এমুলেটর থেকে আমার http: // লোকালহোস্ট ওয়েব সার্ভারে কীভাবে সংযুক্ত হবেন


485

Eclipse এর অ্যান্ড্রয়েড এমুলেটরটিতে এটি আমার লোকালহোস্ট ওয়েব সার্ভার পৃষ্ঠায় http://localhostবা এর সাথে সংযোগ রাখতে আমি কী করতে পারি http://127.0.0.1?

আমি এটি চেষ্টা করে দেখেছি, তবে এমুলেটরটি এখনও আমার অনুরোধটি গুগল অনুসন্ধানের মতো লোকালহোস্টের জন্য নেয় বা আরও খারাপ এটি বলে যে আমার ওয়েব সার্ভারটি সাধারণত চলমান অবস্থায় এটি পৃষ্ঠাটি খুঁজে পায় নি।


এই প্রশ্নটি অ্যান্ড্রয়েড এমুলেটর সম্পর্কে এবং এর সমাধানগুলি কেবলমাত্র সেই ক্ষেত্রে প্রযোজ্য । কোনও শারীরিক অ্যান্ড্রয়েড ডিভাইস ব্যবহার করার সময় আপনি যদি এই সমস্যার মুখোমুখি হন তবে দয়া করে তার পরিবর্তে stackoverflow.com/questions/4779963/… দেখুন
ক্রিস স্ট্রাটন

উত্তর:


819

লোকালহোস্টটি সেই ডিভাইসকে বোঝায় যেটির উপর কোড চলমান, এক্ষেত্রে এমুলেটর।

আপনি যদি অ্যান্ড্রয়েড সিমুলেটর চালিত কম্পিউটারটি উল্লেখ করতে চান তবে তার পরিবর্তে আইপি ঠিকানাটি 10.0.2.2 ব্যবহার করুন।

এখানে চিত্র বর্ণনা লিখুন

আপনি এখান থেকে আরও পড়তে পারেন ।


12
কেন অন্যান্য প্রশ্ন উল্লেখ? কেবলমাত্র লিঙ্কটি অ্যান্ড্রয়েড এমুলেটর নেটওয়ার্কিং যুক্ত করুন
মারভিন এমিল ব্র্যাচ

লিঙ্কটি নির্দেশ করার জন্য ধন্যবাদ। আমি অনুমান করি উত্তর পোস্ট করার সময় এটি ছিল না।
আদিম পাপ্পাচান

1
@ প্রম্পাপ: আমি আইপি ঠিকানার পরিবর্তে মেশিনের নাম ব্যবহার করতে পারি ??
কেজেজেবা 48

@ প্রম্পাপ এটি মোবাইল ডিবাগিংয়ের সাথে কাজ করছে না। অন্য কিছু আছে? অথবা আমি কোথাও ভুল করছি কারণ 10.0.2.2 এমুলেটরটিতে কাজ করছে কিন্তু যখন আমি ইউএসবি ডিবাগিংয়ের জন্য মোবাইল সংযোগ করি তখন কাজ করে না। ?
জাওয়াদ জেব

5
এই নির্দিষ্ট সমাধানটি কেবল অনুকরণকারীদের উপরই কাজ করে , যেমন এখানে নির্দিষ্ট প্রশ্নে জিজ্ঞাসা করা হয়েছে। একটি শারীরিক অ্যান্ড্রয়েড ডিভাইসে যারা ডিবাগ করছেন তাদের সার্ভারের আসল আইপি ঠিকানা বা নাম ব্যবহার করতে হবে, তারা কেবলমাত্র এই বিশেষ এমুলেটর-নাম ব্যবহার করতে পারবেন না। এই উত্তরটি ভাল - তবে পাঠকদের তাদের পরিস্থিতি যে এটি প্রযোজ্য তা এক হতে হবে সে সম্পর্কে সতর্ক হওয়া দরকার ।
ক্রিস

156

ব্যবহারের 10.0.2.2ডিফল্ট AVD এবং 10.0.3.2জন্য


সুতরাং আমরা কি 10.0.3.2আমাদের হোস্ট ফাইলটি যুক্ত করব?
অজয়

29

আমি আমার হোম মেশিনে 10.0.2.2 সাফল্যের সাথে ব্যবহার করেছি, কিন্তু কর্মক্ষেত্রে, এটি কার্যকর হয়নি। কয়েক ঘন্টা বোকা বানানোর পরে, আমি অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস (এভিডি) পরিচালক ব্যবহার করে একটি নতুন এমুলেটর তৈরি করেছি এবং শেষ পর্যন্ত 10.0.2.2 টি কাজ করেছে।

আমি জানি না যে অন্যান্য এমুলেটর উদাহরণটিতে কী ছিল (প্ল্যাটফর্মটি একই ছিল), তবে আপনি যদি 10.0.2.2 তে কাজ করেন না তবে একটি নতুন এমুলেটর উদাহরণ তৈরি করার চেষ্টা করুন।


4
দুর্ভাগ্যজনকভাবে নতুন এভিডি উদাহরণ তৈরি করার পরেও এটি আমার পক্ষে কাজ করে না। আপনি কি পরামর্শ দিচ্ছেন? সবকিছু পুনরায় ইনস্টল করতে?
ভ্লাদো পান্ডিয়

23

আপনার পোর্ট নম্বরটি http://10.0.2.2:8080/কোথায় চেষ্টা করুন 8080। এটি পুরোপুরি কাজ করেছে। আপনি যদি শুধু চেষ্টা করেন তবে 10.0.2.2এটি কাজ করবে না। এটিতে আপনার পোর্ট নম্বর যুক্ত করা দরকার। মাইক্রোসফ্ট আইআইএস ইনস্টল করা থাকলে নিয়ন্ত্রণ প্যানেল (যদি কোনও উইন্ডোজ ওএস ব্যবহার করে থাকে) থেকে সেই বৈশিষ্ট্যটি বন্ধ করে দেওয়ার চেষ্টা করুন এবং তারপরে উপরের মত বর্ণিত চেষ্টা করুন।


2
পৃষ্ঠাগুলি আইআইএস-এ হোস্ট করা থাকলে কী হবে?
মারাকুজা-রস

@ মারিম্বা আপনার আইআইএস সার্ভারটি কোন বন্দরটি পরিবেশন করেছে তা সন্ধান করুন, তারপরে 10.0.2.2:
আপনার_আইস_পোর্ট

এটি একটি সম্পূর্ণ স্ট্রিং এবং একমাত্র আমার অ্যান্ড্রয়েড 8.1 এমুলেটরটিতে কাজ করেছে
কোডটলাইফ

10

ডকুমেন্টেশন অনুযায়ী:

10.0.2.2 - আপনার হোস্ট লুপব্যাক ইন্টারফেসের (বিশেষত, 127.0.0.1 আপনার ডেভলপমেন্ট মেশিনে) বিশেষ বিশেষ নাম

পরীক্ষা এমুলেটর নেটওয়ার্কিং এমুলেটর নেটওয়ার্কিং বিষয়ে আরও ঠাট জন্য।



3

আমার এমুলেটর "নক্স অ্যাপ প্লেয়ার" এর জন্য সিস্টেম হোস্ট আইপি ঠিকানাটি বের করার দরকার ছিল। এটি আমি কীভাবে অনুভব করেছি তা এখানে 172.17.100.2

  1. অ্যাপ স্টোর থেকে অ্যান্ড্রয়েড টার্মিনাল এমুলেটর ইনস্টল করা হয়েছে
  2. ip link showসমস্ত নেটওয়ার্ক ইন্টারফেস দেখানোর জন্য কমান্ড জারি করুন। বিশেষ আগ্রহের মধ্যে এথ 1 ইন্টারফেস ছিল
  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 কীভাবে পোর্ট ফরওয়ার্ডিং করা যায় সে সম্পর্কে তাদের নির্দেশাবলী অনুসরণ করে এবং তারপরে সফলভাবে আমার অ্যান্ড্রয়েড ডিভাইসটি এসপ নেটওয়্যার লোকালহোস্ট প্রকল্পে সংযুক্ত করে আমার ব্রেকিং পয়েন্টে থামিয়ে দেয়।

আমার 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, সেই ফাইলটি রাইনফোর্ডার ভিতরে রেখেছি। আমার স্নানের ফাইল:

rinetd.exe -c rinetd.conf

এই নরমটি শুরু করার পরে, আপনার অ্যাপস নেট সার্ভারটি শুরু করুন এবং আপনার স্থানীয় নেটওয়ার্কের অ্যান্ড্রয়েড ডিভাইস বা যেকোন ডিভাইস থেকে অ্যাক্সেস করার চেষ্টা করুন (উদাহরণস্বরূপ কম্পিউটার এবিসি পুট্টি শুরু হয়) এবং আপনি দেখতে পাবেন যে সমস্ত কিছু কাজ করে। রাউটার সেটিংয়ে যাওয়ার বা অন্য কোনও জটিল কাজ করার দরকার নেই। আমি আশা করি এটা তোমাকে সাহায্য করবে। উপভোগ করুন।


-1

আর একটি কাজ হ'ল no-ip.org থেকে একটি বিনামূল্যে ডোমেন পাওয়া এবং এটি আপনার স্থানীয় আইপি ঠিকানায় নির্দেশ করা। তারপরে, ব্যবহারের পরিবর্তে http://localhost/yourwebserviceআপনি চেষ্টা করতে পারেনhttp://yourdomain.no-ip.org/yourwebservice

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.