Причина
Это связано с этой политикой, начинающейся с Android 9: https://developer.android.com/training/articles/security-config.html#CleartextTrafficPermitted
Приложения, предназначенные для подключения к пунктам назначения, используя только безопасные соединения могут отказаться от поддержки открытого текста (используя незашифрованный протокол HTTP вместо HTTPS) с этими адресатами.
Примечание. Указания в этом разделе относятся только к приложениям, предназначенным для Android 8.1 (уровень API 27) или ниже. Начиная с Android 9 (уровень API 28), поддержка открытого текста отключена по умолчанию.
Открытый текст (HTTP traffi c) теперь отключен по умолчанию, так что это примерно так
<domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="true">*</domain>
</domain-config>
Решение
Заменить все вызовы http на URL-адреса https.
Или ...
Принудительно использовать HTTP (небезопасно)
Если вам действительно нужно разрешить HTTP-трафик c для некоторых запросов, вы можете сделать это, добавив некоторую конфигурацию в свой Android Манифест, или создать плагин для обновления манифеста каждый раз, когда вы перестраиваете приложение с нуля.
Вам необходимо добавить атрибут к тегу <application>
в манифесте, поэтому, чтобы не перезаписывать все, вам нужно использовать тег <edit-config>
с mode="merge"
(см .: https://cordova.apache.org/docs/en/latest/plugin_ref/spec.html#edit - config )
HTTP не считается безопасным протоколом, и каждый отправленный запрос (и его полезная нагрузка) может быть прочитан злоумышленником, поэтому будьте осторожны
plugin.xml
<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
xmlns:android="http://schemas.android.com/apk/res/android"
id="phonegap-plugin-old-http-support-android" version="0.0.1">
<name>OldHttpSupportPlugin</name>
<description>Force HTTP for Android 9+</description>
<license>MIT</license>
<keywords>cordova,android,http</keywords>
<engines>
<engine name="cordova" version=">=6.0.0"/>
<engine name="cordova-android" version=">=7.0.0"/>
</engines>
<platform name="android">
<config-file target="res/xml/config.xml" parent="/*">
<feature name="OldHttpSupportPlugin">
<param name="android-package" value="YOUR.PACKAGE.plugin.OldHttpSupportPlugin"/>
</feature>
</config-file>
<!-- Source file for Android -->
<source-file src="src/android/network_security_config.xml" target-dir="res/xml/" />
<edit-config file="AndroidManifest.xml" target="/manifest/application" mode="merge">
<application android:networkSecurityConfig="@xml/network_security_config" />
</edit-config>
</platform>
</plugin>
network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">my.domain.com</domain>
<domain includeSubdomains="true">example.org</domain>
<domain includeSubdomains="true">111.222.333.444</domain>
</domain-config>
</network-security-config>