【发布时间】:2019-10-19 10:36:08
【问题描述】:
我正在使用 Ionic 框架开发一个新应用,并且我正在使用 HttpClient 模块来处理 API 请求。
问题是我已阅读并尝试将解决方案应用于:
- https://medium.com/@son.rommer/fix-cleartext-traffic-error-in-android-9-pie-2f4e9e2235e6
- https://forum.ionicframework.com/t/livereload-err-cleartext-not-permitted/163487
- Android 8: Cleartext HTTP traffic not permitted
- Why am I seeing net::ERR_CLEARTEXT_NOT_PERMITTED errors after upgrading to Cordova Android 8?
- How to fix 'net::ERR_CLEARTEXT_NOT_PERMITTED' in flutter
- Android Pie: WebView showing error for plain HTTP on some sites, even with usesClearTextTraffic="true"
- WebView showing ERR_CLEARTEXT_NOT_PERMITTED although site is HTTPS
但我的应用在对 API 进行查询时不断抛出此错误。
这是我的文件的详细信息:
在 /,config.xml:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.example" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
...
<platform name="android">
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
<application android:networkSecurityConfig="@xml/network_security_config"/>
<application android:usesCleartextTraffic="true" />
</edit-config>
<resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
...
</widget>
在 /resources/android/xml/,network_security_config.xml:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">localhost</domain>
</domain-config>
</network-security-config>
使用安全加密协议 HTTPS 无效。 API 只接受 HTTP。
【问题讨论】:
-
我也面临同样的问题。 Http api 不允许在 Android Pie 中用作默认值。所以它可以在除 Android Pie 之外的所有其他设备上运行。 M 尝试,如果我有解决方案将更新你。请让我知道你是否找到了一些可行的解决方案
标签: android cordova ionic-framework