No Network Security Config specified, using platform default
后来通过查阅官网,发现Google在Android P上面禁止了明文http传输,也就是默认的是使用https而不是http。而且官方也是给出了解决方案。可以参考官方详情,我在这里简单总结一下
1. 添加安全配置文件
首先在res/xml文件夹下创建文件network_security_config.xml文件,然后添加可以信任的域名或者ip。
<?xml version="1.0" encoding="utf-8"?>example.com
或者添加默认可以使用明文传输。之后在AndroidMainfest.xml中application下添加下面属性
android:networkSecurityConfig="@xml/network_security_config"
- 降低api版本,在27或者以下都可以使用明文http传输。但是作为开发者这样是没有太大意义的。
访问自己搭建的后台
另一个项目是通过Android访问自己搭建的web服务器。同样会出现报错,通过上面的两种方法是可以解决问题的。这里还有第三种方法,那就是手动添加ssl证书
- spring boot配置ssl证书实现https访问
可以使用java自带的证书生成工具来实现,首先打开cmd终端,输入命令来产生ssl证书
keytool -list -keystore server.p12
之后会提示输入不少于六位的密码,之后还需要重复输入,以及填写其他信息等。按照步骤来就行,关键就是要记住密码。spring boot中在配置文件application.properties中添加几条配置
#需吧生成的文件放在与配置文件相同目录下
#server.ssl.key-store=classpath:keystore.p12
#配置证书密码
#server.ssl.key-store-password=111111
##server.ssl.keyStoreType=PKCS12
#可以手动指定端口,否则使用默认的8443端口
#server.ssl.keyAlias:tomcat
之后重启项目可以看见服务端!

由于证书是自己创建的所以肯定为无效证书

添加证书的信任
之后我使用java跑测试时候又报了这样的错误
avax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present
面试复习笔记:
这份资料我从春招开始,就
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整资料开源分享
会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。
节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
《960页Android开发笔记》

《1307页Android开发面试宝典》
包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。

《507页Android开发相关源码解析》
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
32)]
《507页Android开发相关源码解析》
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。