Bagaimana menghubungkan ke server web http: // localhost saya dari Android Emulator di Eclipse


485

Apa yang dapat saya lakukan di emulator Android Eclipse untuk menghubungkannya ke halaman server web hosting saya di http://localhostatau http://127.0.0.1?

Saya sudah mencobanya, tetapi emulator masih mengambil permintaan saya seperti pencarian lokal untuk localhost Google atau lebih buruk itu mengatakan bahwa itu tidak menemukan halaman saat server web saya biasanya berjalan.


Pertanyaan ini tentang Emulator Android dan memiliki solusi yang berlaku untuk kasus itu saja . Jika Anda menghadapi masalah ini saat menggunakan perangkat Android fisik , silakan lihat sebaliknya stackoverflow.com/questions/4779963/…
Chris Stratton

Jawaban:


819

Localhost merujuk ke perangkat tempat kode berjalan, dalam hal ini emulator.

Jika Anda ingin merujuk ke komputer yang menjalankan simulator Android, gunakan alamat IP 10.0.2.2 sebagai gantinya.

masukkan deskripsi gambar di sini

Anda dapat membaca lebih lanjut dari sini .


12
mengapa mengacu pada pertanyaan lain? cukup tambahkan Tautan emulator Android Networking
Marvin Emil Brach

Terima kasih telah menunjukkan tautannya. Saya kira itu tidak ada ketika jawabannya diposting.
Primal Pappachan

1
@primpap: Dapatkah saya menggunakan nama mesin dan bukan alamat ip ??
KJEjava48

@primpap ini tidak berfungsi dengan Mobile debugging. Apakah ada yang lain? Atau saya melakukan kesalahan di suatu tempat karena 10.0.2.2 bekerja pada emulator tetapi tidak berfungsi ketika saya menghubungkan ponsel untuk debugging usb. ?
Jawad Zeb

5
Solusi ini hanya bekerja pada emulator , seperti yang ditanyakan dalam pertanyaan khusus di sini. Mereka yang melakukan debug pada perangkat Android fisik harus menggunakan alamat IP atau nama aktual server, mereka tidak dapat menggunakan alias khusus emulator ini saja. Jawaban ini bagus - tetapi pembaca harus berhati-hati bahwa situasi mereka adalah salah satu yang berlaku .
Chris Stratton

156

Gunakan 10.0.2.2untuk AVD default dan 10.0.3.2untuk.


Jadi, apakah kita hanya menambahkan 10.0.3.2file host kita?
ayjay

29

Saya menggunakan 10.0.2.2 dengan sukses di mesin rumah saya, tetapi di tempat kerja, itu tidak berhasil. Setelah berjam-jam bermain-main, saya membuat instance emulator baru menggunakan manajer Android Virtual Device (AVD), dan akhirnya 10.0.2.2 bekerja.

Saya tidak tahu apa yang salah dengan instance emulator lainnya (platformnya sama), tetapi jika Anda menemukan 10.0.2.2 tidak berfungsi, coba buat instance emulator baru.


4
Sayangnya itu tidak berhasil bagi saya bahkan setelah membuat contoh AVD baru. Apa yang Anda sarankan? Untuk menginstal ulang semuanya?
Vlado Pandžic

23

Coba di http://10.0.2.2:8080/mana 8080nomor port Anda. Itu bekerja dengan sempurna. Jika Anda mencobanya 10.0.2.2saja tidak akan berhasil. Anda perlu menambahkan nomor port ke sana. Juga jika Microsoft IIS telah diinstal coba matikan fitur itu dari panel kontrol (jika menggunakan os windows) dan kemudian coba seperti yang diberikan di atas.


2
Bagaimana jika halaman di-host di IIS?
maracuja-jus

@Marimba hanya mencari tahu port apa yang dilayani server IIS Anda, lalu akses 10.0.2.2:your_iis_port
StoneLam

ini adalah string yang lengkap dan satu-satunya yang bekerja pada emulator 8.1 android saya
CodeToLife

10

menurut dokumentasi:

10.0.2.2 - Alias ​​khusus untuk antarmuka loopback host Anda (yaitu, 127.0.0.1 pada mesin pengembangan Anda)

periksa Emulator Networking untuk mengetahui lebih banyak trik pada jaringan emulator.



3

Saya perlu mengetahui alamat IP host sistem untuk emulator "Nox App Player". Inilah cara saya menemukan itu 172.17.100.2.

  1. Menginstal Android Terminal Emulator dari app store
  2. ip link showPerintah mengeluarkan untuk menampilkan semua antarmuka jaringan. Yang menarik adalah antarmuka eth1
  3. ifconfig eth1Perintah mengeluarkan , menunjukkan net sebagai172.17.100.15/255.255.255.0
  4. Mulai ping alamat mulai dari 172.17.100.1, mendapat hit di `172.17.100.2 '. Tidak yakin apakah firewall akan mengganggu tetapi tidak dalam kasus saya

Mungkin ini bisa membantu orang lain mencari tahu untuk emulator lain.


1

Jika Anda berada di windows Anda dapat pergi ke sistem simbol dan menulis ipconfig dan memeriksa ip apa yang ditugaskan untuk mesin Anda.


Ini tidak perlu ketika debugging dari emulator, karena Anda dapat menggunakan alias khusus untuk antarmuka loopback host yang dikutip dalam jawaban lain. Namun jika debugging dari perangkat android fisik, maka ya, Anda perlu menentukan alamat sebenarnya dari server pengujian Anda dan menggunakannya.
Chris Stratton

1

Anda sebenarnya dapat menggunakan localhost:8000untuk terhubung ke localhost mesin Anda dengan menjalankan perintah di bawah ini setiap kali Anda menjalankan emulator Anda (diuji hanya pada Mac):

adb reverse tcp:8000 tcp:8000

Masukkan saja ke terminal Android Studio.

Ini pada dasarnya membuat proxy terbalik di mana server http yang berjalan di ponsel Anda menerima koneksi pada port dan mengirimkannya ke komputer Anda atau sebaliknya.


0

Saya tidak tahu, mungkin topik ini sudah terpecahkan, tetapi ketika saya baru-baru ini mencoba melakukan ini pada mesin Windows, saya telah menghadapi banyak kesulitan. Jadi solusi saya sangat sederhana. Saya telah mengunduh http://www.lenzg.net/rinetd/rinetd.html lunak ini mengikuti instruksi mereka tentang cara membuat port forwarding dan kemudian berhasil perangkat Android saya terhubung untuk membuat proyek localhost asp.net dan berhenti pada titik melanggar saya.

file rinetd.conf saya:

10.1.1.20 1234 127.0.0.1 1234
10.1.1.20 82 127.0.0.1 82

Di mana 10.1.1.20 adalah localhost ip saya, 82 dan 1234 port saya Juga saya telah menggembirakan file mandi untuk memudahkan hidup yournameofbathfile.bat, letakkan file itu di dalam folder rinedfolder. File kamar mandi saya:

rinetd.exe -c rinetd.conf

Setelah memulai soft ini, jalankan server aps.net Anda dan coba akses dari perangkat android atau perangkat apa pun di jaringan lokal Anda (misalnya Computer ABC mulai dempul) dan Anda akan melihat bahwa semuanya berfungsi. Tidak perlu pergi ke pengaturan router atau melakukan hal-hal rumit lainnya. Saya harap ini akan membantu Anda. Nikmati.


-1

Solusi lain adalah untuk mendapatkan domain gratis dari no-ip.org dan arahkan ke alamat ip lokal Anda. Lalu, alih-alih menggunakan http://localhost/yourwebserviceAnda bisa mencobahttp://yourdomain.no-ip.org/yourwebservice

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.