javax.net.ssl.SSLPeerUnverifiedException: nenhum certificado ponto a ponto enquanto estou trabalhando com o google place api no android [duplicado]

Esta questão já tem uma resposta aqui:

Android: fazendo solicitação de https 2 respostas

Eu estou enfrentando um javax.net.ssl.SSLPeerUnverifiedException: Nenhuma exceção de certificado de peer ao trabalhar com o google place api no emulador android.Below é o meu url:

https://maps.googleapis.com/maps/api/place/search/json?&location=28.632808,77.218276&radius=1000&sensor=false&key=AIzaSyC3y3fOMTqTkCjNNETQTCKustG7BRk_eVc

Quando eu simplesmente, colar acima url na barra de endereços do navegador, ele simples dá Json string.So, eu acho que não há necessidade de qualquer autenticação de certificado.

Depois de fazer tantos "googling" e dedicar 2 ou 3 dias, usei a classe SSLSocketFacory do pacote org.apache.http.conn.ssl.SSLSocketFactory para evitar erros no certificado.

abaixo está meu código:

public static HttpClient wrapClient(HttpClient base) {
        try {
            SSLContext ctx = SSLContext.getInstance("TLS");
            X509TrustManager tm = new X509TrustManager() {

                public void checkClientTrusted(X509Certificate[] xcs, String string) throws CertificateException {
                }

                public void checkServerTrusted(X509Certificate[] xcs, String string) throws CertificateException {
                }

                public X509Certificate[] getAcceptedIssuers() {
                    return null;
                }
            };
            X509HostnameVerifier verifier = new X509HostnameVerifier() {

                public void verify(String string, SSLSocket ssls) throws IOException {
                }

                public void verify(String string, X509Certificate xc) throws SSLException {
                }

                public void verify(String string, String[] strings, String[] strings1) throws SSLException {
                }

                public boolean verify(String string, SSLSession ssls) {
                    return true;
                }
            };
            ctx.init(null, new TrustManager[]{tm}, null);
            SSLSocketFactory ssf = new SSLSocketFactory(ctx);
            ssf.setHostnameVerifier(verifier);
            ClientConnectionManager ccm = base.getConnectionManager();
            SchemeRegistry sr = ccm.getSchemeRegistry();
            sr.register(new Scheme("https", ssf, 443));
            return new DefaultHttpClient(ccm, base.getParams());
        } catch (Exception ex) {
            ex.printStackTrace();
            return null;
        }
    }

Eu estou usando o Android API 16, e quando eu usei SSLSocketFactory (SSLSocketContext) construtor, eclipse dá erro de compliação, então eu pesquisar muito e baixar jar tendo SSLSocketFactory (SSLSocketContext), que é o arquivo "httpclient-4.1.1.jar". E eu também defino a ordem desse jar no caminho de construção do projeto, defini a prioridade mais alta. Agora, estou recebendo o seguinte aviso:

VFY:unable to resolve direct method 4253:Lorg/apache/http/conn/ssl/SSLSocketFactory.<init>

E seguindo um longo traço de erro causado por

java.lang.NoSuchMethodError : org.apace.http.conn.ssl.SSLSocketFactory.<init>

Por favor, ajude-me, não sei, onde estou errado.

questionAnswers(1)

yourAnswerToTheQuestion