- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我收到来自 Android 8 用户的报告,称我的应用(使用后端提要)不显示内容。经过调查,我发现 Android 8 上发生了以下异常:
08-29 12:03:11.246 11285-11285/ E/: [12:03:11.245, main]: Exception: IOException java.io.IOException: Cleartext HTTP traffic to * not permitted
at com.android.okhttp.HttpHandler$CleartextURLFilter.checkURLPermitted(HttpHandler.java:115)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:458)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)
at com.deiw.android.generic.tasks.AbstractHttpAsyncTask.doConnection(AbstractHttpAsyncTask.java:207)
at com.deiw.android.generic.tasks.AbstractHttpAsyncTask.extendedDoInBackground(AbstractHttpAsyncTask.java:102)
at com.deiw.android.generic.tasks.AbstractAsyncTask.doInBackground(AbstractAsyncTask.java:88)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
(我已经删除了包名、URL 和其他可能的标识符)
在 Android 7 及更低版本上一切正常,我没有在 Manifest 中设置 android:usesCleartextTraffic
(并且将其设置为 true
无济于事,这是默认值),我也不使用网络安全信息。如果我调用 NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted()
,它将返回 false
用于 Android 8,true
用于旧版本,使用相同的 apk文件。我试图在有关 Android O 的 Google 信息中找到有关此内容的信息,但没有成功。
最佳答案
根据Network security configuration -
Starting with Android 9 (API level 28), cleartext support is disabledby default.
也可以看看 Android M and the war on cleartext traffic
选项 1 -
首先尝试使用 https://
访问 URL而不是 http://
选项 2 -
创建文件res/xml/network_security_config.xml
-
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">api.example.com(to be adjusted)</domain>
</domain-config>
</network-security-config>
AndroidManifest.xml
-
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<application
...
android:networkSecurityConfig="@xml/network_security_config"
...>
...
</application>
</manifest>
选项 3 -
android:usesCleartextTraffic Doc
AndroidManifest.xml
-
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<application
...
android:usesCleartextTraffic="true"
...>
...
</application>
</manifest>
也称为 @david.s' answer指出android:targetSandboxVersion
也可能是个问题-
根据Manifest Docs -
android:targetSandboxVersion
The target sandbox for this app to use. The higher the sandbox versionnumber, the higher the level of security. Its default value is 1; youcan also set it to 2. Setting this attribute to 2 switches the app toa different SELinux sandbox. The following restrictions apply to alevel 2 sandbox:
- The default value of
usesCleartextTraffic
in the Network Security Config is false.- Uid sharing is not permitted.
所以选项 4 -
如果您有 android:targetSandboxVersion
在 <manifest>
然后将其减少到 1
AndroidManifest.xml
-
<?xml version="1.0" encoding="utf-8"?>
<manifest android:targetSandboxVersion="1">
<uses-permission android:name="android.permission.INTERNET" />
...
</manifest>
关于安卓 8 : Cleartext HTTP traffic not permitted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45940861/
我正在做一个项目,我需要获得从“上车”到“下车”坐标的最短距离和时间。在我的数据集中,我有一个变量指示“trip_distance”和“pickup_date”,我的任务是计算“trip_distan
我是使用 tc 命令的新手。 我正在编写一个测试脚本来为接口(interface)添加延迟。这是使用python和fabric api完成的 因此脚本将执行以下操作: sudo tc qdisc ad
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我发现了许多有关如何从应用程序内调用应用程序的示例。我首先浏览了 stackoverflow,看看是否有类似的问题,确实有,只是没有我的那么具体。 有没有办法调用黑莓交通应用程序并像我迄今为止看到的所
我试图通过2个线程在java中使用多线程,其中一个线程代表一辆汽车以单向行驶通过十字路口,另一个线程代表另一辆汽车等待通过十字路口。我的问题是 car2 打印“car2 is waiting to c
监控 Google App Engine 托管网站的网站流量的最佳方式是什么? 在每个页面处理程序中放置一些代码来记录对数据存储的每个页面请求是相当简单的,现在(感谢 stackoverflow)我有
如何在通用分析中获取流量来源数据? 我正在 firebug 控制台中尝试以下代码:- ga(function(tracker) { var src = tracker.get('campaignS
如何监控从我的 android 模拟器发送和接收的网络流量? 最佳答案 有两种方法可以直接从 Android 模拟器捕获网络流量: 复制并运行 ARM-compatible tcpdump binar
问题:我想在模拟器 (AVD) 上安装已编译的 APK,并使用 Android Studio 中的分析器(Android Studio 3.4.1 以及 Android Studio 3.6 Cana
HERE Traffic API 开发人员指南提供了对交通事件数据请求的响应示例,但未解释响应结构或描述每个返回元素的用途/内容。相反,它指出 The response structure is ba
我读到 PHP“可能”的弱点是它处理“并发”的方式。仅通过 session 和 cookie 来跟踪用户状态,PHP 如何高精度地处理以下情况: 多个用户结账一件商品,但库存只有 1 件(抱歉语法错误
我正在使用 Apache JMeter 2.3,它现在支持代理服务器元素下的“尝试 HTTPS 欺骗”。 我已经在几个不同的服务器上尝试过这个,但没有成功。 有没有人能够使用此设置从 HTTPS 源成
我正在做我所有的 Google Analytics 服务器端,但 GA 只跟踪直接或推荐,我不知道如何跟踪有机。这是获得直接或推荐的代码: //Campaign is us
我正在尝试在谷歌地图上创建一个带有道路交通流量的热图。我有自定义数据,并且想在 map 上呈现这些数据。谷歌有交通 API,但它提供自己的数据。我想使用我自己的数据。请给我一些解决方案或提示。 最佳答
我收到 Android 8 用户的报告,称我的应用(使用后端提要)不显示内容。经过调查,我发现 Android 8 上发生以下异常: 08-29 12:03:11.246 11285-11285/ E
我收到 Android 8 用户的报告,称我的应用(使用后端提要)不显示内容。经过调查,我发现 Android 8 上发生以下异常: 08-29 12:03:11.246 11285-11285/ E
我收到 Android 8 用户的报告,称我的应用(使用后端提要)不显示内容。经过调查,我发现 Android 8 上发生以下异常: 08-29 12:03:11.246 11285-11285/ E
虽然这可能是一个非常抽象的问题,但请告诉我任何正确的方向。 类似 Twitter 的 Web 应用程序的数据库设计和复制配置(大量插入和读取)。 最佳答案 对于非常高的负载,您可以考虑 NoSQL d
我已经创建了 Android 应用程序:https://market.android.com/details?id=com.smsbackupandroid我已经为它创建了网站:http://www.
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 3 年前。
我是一名优秀的程序员,十分优秀!