升级到Cordova Android 8.0后,尝试连接到net::ERR_CLEARTEXT_NOT_PERMITTED
目标时看到http://
错误。
为什么会这样,我该如何解决呢?
最佳答案
Cordova Android平台中的默认API级别已升级。在Android 9设备上,明文通信现在为disabled by default。
要再次允许明文通信,请将android:usesCleartextTraffic
标记上的application
设置为true
:
<platform name="android">
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:usesCleartextTraffic="true" />
</edit-config>
</platform>
如注释中所述,如果您之前未定义
android
XML命名空间,则在构建过程中将收到error: unbound prefix
。这表明您需要将其添加到相同widget
的config.xml
标记中,如下所示:<widget id="you-app-id" version="1.2.3"
xmlns="http://www.w3.org/ns/widgets"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:cdv="http://cordova.apache.org/ns/1.0">