【发布时间】:2016-10-18 09:49:25
【问题描述】:
昨天我获得了 Android N 预览版的新升级。自从我升级后,我再也无法启动我的应用程序了。
java.io.IOException: Cleartext HTTP traffic to myserver.com not permitted
我尝试在清单中将usesCleartextTraffic 设置为true 或添加network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">myserver.com</domain>
</domain-config>
</network-security-config>
都没有工作。对那里发生的事情有任何想法吗?
当我尝试在清单中定义 networkSecurityConfig 时,出现编译错误
Error:(35) No resource identifier found for attribute 'networkSecurityConfig' in package 'android'
不太清楚为什么。文件在那里,一切看起来都很好。
在 Google 的 Android 问题跟踪器中找到 this 建议。他们建议将network_security_config 定义移动到meta-data。不过,我仍然遇到同样的异常。
【问题讨论】:
-
为了确定,您实际上告诉您的应用程序使用配置文件?例如
android:networkSecurityConfig="@xml/network_security_config"在您的应用程序清单中。 -
我似乎没有这个问题,至少在我刚刚测试的应用程序中。纯文本 HTTP 流量很好。您可以尝试完全卸载并重新安装该应用程序。另外,你在用
StrictMode吗?也许detectCleartextNetwork()正在开启 -
我已经卸载并重新安装了几次,但我没有使用 StrictMode。我无法在清单中定义 networkSecurityConfig。我会更新问题
-
你在用OKHttp吗?
-
“当我尝试在清单中定义 networkSecurityConfig 时,出现编译错误”——移至
compileSdkVersion 24和buildSdkTools "24.0.0"。