官方说法:

Android致力于保护用户们的设备和数据安全。我们保证数据安全的方法之一是保护所有进入或离开Android设备的数据在传输中使用传输层安全性(TLS)。正如我们在Android P开发人员预览中所宣布的那样,我们通过阻止针对Android P的应用程序默认允许未加密的连接来进一步改进这些保护。这是我们多年来为更好地保护Android用户而做出的各种更改。为了防止意外的未加密连接,我们android:usesCleartextTraffic在Android Marshmallow中引入了manifest属性。在Android Nougat中,我们通过创建Network Security Config功能扩展了该属性,该功能允许应用程序指示他们不打算在没有加密的情况下发送网络流量。在Android Nougat和Oreo中,我们仍然允许明文连接。

所以,后续我们在新建Android项目或者升级Android项目 API版本(targetSdkVersion),当选择27或者27以上时候,就会出现http请求失效的情况

解决方法

1、配置允许明文通信域

res/xml/network_security_config.xml:

<?xml version="1.0" encoding="utf-8"?>            example.com                                                secure.example.com            

2、或者直接在manifest文件里开启明文网络支持(最简单方法)

android:usesCleartextTraffic 作用:

Indicates whether the app intends to use cleartext network traffic, such as cleartext HTTP

更多相关文章

  1. Android 打造任意层级树形控件 考验你的数据结构和设计
  2. Android - 利用Android studio + Android Killer工具在手机未ROO
  3. Ubuntu下android学习——(2)Android系统构架分析和应用程序目录结
  4. 深度探索Android应用程序的基本原理
  5. 曝Android机冷冻后变"傻" 加密数据随意访问
  6. Android入门篇二:使用意图在Activity之间传递数据

随机推荐

  1. Android中Timer与Thread的使用
  2. Androd Html Demo js与java相互调用
  3. Android(安卓)中的设置关于手机中的型号
  4. mac下Android(安卓)apk 破解流程
  5. Android(安卓)Bundle类
  6. [Android(安卓)Pro] Android签名与认证详
  7. android 设置无标题
  8. ANDROID 开发资源网站列表(2008年1月14日)
  9. Gson解析(详解)
  10. Android(安卓)SDK Manager无法更新的解决