com.android.volley.NoConnectionError - Android emulator with Charles Proxy com.android.volley.NoConnectionError - Android emulator with Charles Proxy android android

com.android.volley.NoConnectionError - Android emulator with Charles Proxy


In order to help solving

java.io.IOException: unexpected end of stream on Connection

issue please answer the questions in the comments.

As regards to

HttpHost httpproxy = new HttpHost("192.168.0.101", 8888, "http"); httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,httpproxy);

it will not help you just like that. In fact this is another way to apply a proxy which IMO is even better than '-http-proxy' because you can apply it anywhere not only for an emulator and it is only for this app build.

You need to apply the proxy in the Http Stack you use. for example:

public class ProxyHurlStack extends HurlStack {    @Override    protected HttpURLConnection createConnection(URL url) throws IOException {        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.0.1.17", 8888));        HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy);        return conn;    }}

and then for you debug build you can use smth like:

requestQueue = Volley.newRequestQueue(context, new ProxyHurlStack());


The only way to this is that install the SSL (Secure Socket Layer) certificate at server end then no need to set any Charles proxy.

Every enterprise has two development environments,

  1. Development ( http ) : doesn't need any SSL certificate
  2. Production ( https ) : needs SSL certificate

When production environment installs the SSL certificate then android emulator and Volley library automatically detects the network connection and your were able to consume the apis/web services as expected.

No other solution to this problem.