我的Android应用程序严格运行在无法使用Google Play服务的Android版本上。该应用程序通过HttpsUrlConnection从正在更新的远程服务器发出数据请求,仅支持TLS 1.2握手。我查看了这个blog post并试图实现它,但它对我不起作用。我知道我可以使用Google Play服务和更新SSL提供商工作,但这不是我的特定Android设备的选项。我的问题是,如果没有Google Play服务的帮助,我可以让TLS 1.2在Android 4.4上运行吗?
答案 0 :(得分:2)
我有同样的要求。我能够使用httpClient 4.1.2为Android 4.1启用TLS 1.1+ 我使用了这个链接https://github.com/erickok/transdroid/blob/master/app/src/main/java/org/transdroid/daemon/util/TlsSniSocketFactory.java
在代码中包含该文件后,只需按照以下代码进行引用即可。
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("https", new TlsSniSocketFactory(), 443));
client = new DefaultHttpClient(new ThreadSafeClientConnManager(httpParameters, registry),httpParameters);
希望这有助于你。
答案 1 :(得分:-2)
我最终从apkmirror.com安装了一份Google Play服务,以解决此问题并使用:
ProviderInstaller.installIfNeeded(getContext());