2016-11-11

Accessing a localhost server (host) from the Genymotion emulator


Khi develop Android app thông thường sẽ có trường hợp cần access localhost server  (chẳng hạn REST API), như trong trường hợp dùng để testing.

TL;DR

Trước đây thì dùng 10.0.2.2, xem How to access localhost from a Genymotion android emulator?.
Trong bản update mới của Genymotion thì IP là 10.0.3.2. Như vậy để truy cập localhost server trên host thì trên emulator dùng http://10.0.3.2:8000 (giả sử localhost server chạy port 8000 như Laravel với php artisan serve).

Trên host machine, IP mặc định của VirtualBox Host-Only là 192.168.56.1

Ethernet adapter VirtualBox Host-Only Network:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::7909:fd7d:d323:52d7%24
   IPv4 Address. . . . . . . . . . . : 192.168.56.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

Như vậy có thể chạy localhost server với IP 192.168.56.1 hoặc any.
Nếu đang sau proxy settings thì phải bypass proxy trong emulator, thực hiện vào Settings → Wifi → chọn Connected Wifi (WiredSSID), click và giữ chọn để hiển thị (click & hold) → Modify network → Thêm bypass proxy cho 10.0.3.*

No comments:

Post a Comment