android中的Socks代理

android中的Socks代理,android,Android,如何在android emulator中连接SOCKS代理连接,在使用系统网络设置时,我能够在系统浏览器上成功连接SOCKS代理服务器,但在emulator中不工作。我试过了 System.setProperty("socksProxyHost", proxyHost); System.setProperty("socksProxyPort", port); 而且 SocketAddress addr = new InetSocketAddress(proxyHost, proxyPort);

如何在android emulator中连接SOCKS代理连接,在使用系统网络设置时,我能够在系统浏览器上成功连接SOCKS代理服务器,但在emulator中不工作。我试过了

System.setProperty("socksProxyHost", proxyHost);
System.setProperty("socksProxyPort", port);
而且

SocketAddress addr = new InetSocketAddress(proxyHost, proxyPort);
Proxy httpProxy = new Proxy(Proxy.Type.SOCKS, addr);urlConn = url.openConnection(httpProxy);

但是失败了。我想在我的设备应用程序中连接并使用SOCKS代理连接和Web服务。提前谢谢。

据我所知,Android不支持SOCKS代理,但您可以尝试安装,它可以充当HTTP代理,并且可以使用SOCKS上游代理。(我用它把Android仿真器连接到。)然后你就可以(这样它甚至可以用在真正的手机上,而不仅仅是仿真器上)。有关更多信息,请参阅。

这适用于我在根Nexus 4上运行的Android 4.3:

注意:我也安装了,但我不确定是否需要


为了使其与仿真器一起工作,请将IP更改为10.0.2.2,这是您主机的Android别名。当然,您必须在您的计算机上运行本地SOCKS代理。

谢谢,我尝试了这个方法,但得到了一个java.net.ConnectException:-连接被拒绝
    SocketAddress proxyAddr = new InetSocketAddress("127.0.0.1", 1984);  
    SocketAddress hostAddr = new InetSocketAddress(address, port);
    java.net.Proxy proxy = new java.net.Proxy(java.net.Proxy.Type.SOCKS, proxyAddr);
    socket = new Socket(proxy);
    socket.connect(hostAddr);