2010-06-09 3 views
11

안드로이드 에뮬레이터에서 내 LAN에있는 컴퓨터 중 하나에서 제공하는 웹 서비스에 액세스하고 싶습니다.안드로이드 에뮬레이터를 호스트 컴퓨터의 LAN에 액세스하도록 설정하는 쉬운 방법이 있습니까?

서비스가 에뮬레이터가 실행되는 동일한 컴퓨터 (호스트라고 함)에서 실행되는 경우 네트워크 리디렉션을 추가하고 올바른 포트로 10.0.2.2 (에뮬레이터의 호스트 루프백 인터페이스)에 액세스 할 수 있습니다.

그러나 LAN상의 다른 컴퓨터에서 실행 중입니다. 내가 위의 하나에 추가로 호스트에 또 다른 리다이렉션을 추가 할 수 있었다고 생각한다. (iptables와 싸워야 할 것이다.) 그러나 더 간단한 해결책이 존재 하는가?

답변

5

음, 그냥 작동합니다 (TM). 제가 테스트하기 전에 읽은 안드로이드 에뮬레이터 설명서에서

이이 적혀있다 (나는 일을하기 전에 RTFM하려고) :

에뮬레이터의 각 인스턴스를 분리 가상 라우터/방화벽 서비스 뒤에 실행 개발 컴퓨터의 네트워크 인터페이스와 설정 및 인터넷에서 가져옵니다. 에뮬레이트 된 장치는 네트워크에서 개발 시스템이나 다른 에뮬레이터 인스턴스를 볼 수 없습니다. 대신 이더넷을 통해 라우터/방화벽에 연결된다는 것을 알 수 있습니다.

이렇게하면 내 LAN에 액세스 할 수 없다고 생각했습니다. 내가 틀렸어. 내 LAN에 서버의 IP를 추가하면 에뮬레이터에서 액세스 할 수 있었다.

+11

어떻게 더 구체적으로 했습니까? 이것은 나에게 어떤 의미가되지 않습니다 ... – Dediqated

+2

@Dediqated : Longfield는 단순히 에뮬레이터의 일반 IP 주소로 LAN상의 컴퓨터를 대상으로 할 수 있다고 생각합니다. 그러나 실제로는 [여기] (http://developer.android.com/tools/devices/emulator.html#networkinglimitations)에 명시된 제한 사항이 있습니다. 특히 : 방화벽 (호스트가 연결된 장치 또는 호스트의 프로그램)이 간섭을 일으킬 수 있으며, IGMP 및 멀티 캐스트는 현재 지원되지 않습니다. – mklement0

0

실제 안드로이드 장치를 가져 와서 LAN에 연결할 수 있습니다.

어떻게 호스트 시스템에 연결하고 있습니까? html을 통해? 앱에 기계에 하드 라인 연결이 필요한 경우 모바일 기기를위한 아주 좋은 해결책이 아니기 때문입니다.

+0

html로 보시면 문제가 없습니다. – mtmurdock

+0

그래, 이미 내 안드로이드 장치로 이것을 테스트 해봤는데 작동한다. 그러나 에뮬레이터로도 할 수있는 것이 좋을 것입니다. 강경론이란 무엇입니까? html이 아니지만 클라이언트가 TCP에서 인터페이스를 명령하므로 매우 유사합니다. – Longfield

관련 문제