https 安卓热更失败

cocos creator 热更新的时候,如果更新地址配成https://开头
ios可以下载更新文件,android就不行。
错误日志如下:
E/AudioTrackShared( 4939): BBK_AUDIO ClientProxy going to wait

W/System.err( 4939): javax.net.ssl.SSLException: Certificate for <ma77.gdl.netease.com> doesn’t match any of the subject alternative names: [livessl.chinanetcenter.com, *.ourdvsss.com, sdkoptedge.chinanetcenter.com, lvs.lxdns.net, *.wscdns.com, *.ourdvsssvip.com, pl3-https.live.panda.8686c.com, dl1.ztems.com, dl6.ztems.com]

W/System.err( 4939): at cz.msebera.android.httpclient.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:164)

W/System.err( 4939): at cz.msebera.android.httpclient.conn.ssl.BrowserCompatHostnameVerifier.verify(BrowserCompatHostnameVerifier.java:61)

W/System.err( 4939): at cz.msebera.android.httpclient.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:140)

W/System.err( 4939): at cz.msebera.android.httpclient.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:114)

W/System.err( 4939): at cz.msebera.android.httpclient.conn.ssl.SSLSocketFactory.verifyHostname(SSLSocketFactory.java:569)

W/System.err( 4939): at cz.msebera.android.httpclient.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:544)

W/System.err( 4939): at cz.msebera.android.httpclient.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:409)

W/System.err( 4939): at cz.msebera.android.httpclient.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:479)

W/System.err( 4939): at cz.msebera.android.httpclient.conn.scheme.SchemeSocketFactoryAdaptor.connectSocket(SchemeSocketFactoryAdaptor.java:66)

W/System.err( 4939): at cz.msebera.android.httpclient.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)

W/System.err( 4939): at cz.msebera.android.httpclient.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:145)

W/System.err( 4939): at cz.msebera.android.httpclient.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:131)

W/System.err( 4939): at cz.msebera.android.httpclient.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)

W/System.err( 4939): at cz.msebera.android.httpclient.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)

W/System.err( 4939): at cz.msebera.android.httpclient.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:879)

W/System.err( 4939): at cz.msebera.android.httpclient.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)

W/System.err( 4939): at com.loopj.android.http.AsyncHttpRequest.makeRequest(AsyncHttpRequest.java:146)

W/System.err( 4939): at com.loopj.android.http.AsyncHttpRequest.makeRequestWithRetries(AsyncHttpRequest.java:177)

W/System.err( 4939): at com.loopj.android.http.AsyncHttpRequest.run(AsyncHttpRequest.java:106)

W/System.err( 4939): at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)

W/System.err( 4939): at java.util.concurrent.FutureTask.run(FutureTask.java:237)

W/System.err( 4939): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)

W/System.err( 4939): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)

W/System.err( 4939): at java.lang.Thread.run(Thread.java:818)

顶一个,我也遇到了,有人抽空解答下吗?

顶楼主,这里也是

安卓的 https 访问需要证书,而 downloader 目前没有设置证书的能力,@dumganhar 有没有全局设置 https 请求证书的方法

临时解决方案:

修改Cocos2dxDownloader.java文件

public class Cocos2dxDownloader {
    private int _id;
    private AsyncHttpClient _httpClient = new AsyncHttpClient();

改为

public class Cocos2dxDownloader {
    private int _id;
    private AsyncHttpClient _httpClient = new AsyncHttpClient(true, 80, 443);


http://forum.cocos.com/t/creator1-4-5s-https-certificate-for-cdn-qiyimofang-com-doesnt-match-any-of-the-subject-alternative-names-ucd1-pp-uc-cn/44489/14
重复。

应该是同一个问题,有可能是android-async-http的bug。
false为需要验证本地证书,true为不需要。
验证会比较安全一点。