Сбой http-запроса в ионном Android 8+ - PullRequest
0 голосов
/ 15 июня 2019

Мой HTTP-запрос ionic 4 не работает нормально в Android 9, но в Android <9 он работает отлично. после отладки приложение показывает состояние ошибки на вкладке сети. Я добавил. </p>

<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
            <application android:networkSecurityConfig="@xml/network_security_config" />
            <application android:usesCleartextTraffic="true" />
</edit-config>

и

<widget id="io.ionic.starter" version="1.0.1" 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">

в файле config.xml и измените android: targetSdkVersion

<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="29" />

в файле AndroidManifest.xml. но они также бесполезны. Пожалуйста, помогите мне в этом.

1 Ответ

0 голосов
/ 15 июля 2019

Я тоже сталкивался с этой проблемой, но у меня есть решение, которое работает в моем случае. Выполните следующие 4 шага ниже.

шаг 1: создайте каталог с именем xml в «resources / android /» и создайте новый файл с именем network_security_config.xml.

шаг 2: добавьте следующий код в этот файл network_security_config

<?xml version="1.0" encoding="utf-8"?>

   <network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>

шаг 3: добавьте этот код после кода в файл config.xml на платформе Android, как показано ниже

<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" />

    <allow-intent href="market:*" />

шаг 4: не используйте targetSdkVersion = 29, он будет работать через 28, используйте версию ниже целевой.

 <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="28" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...