Реагировать на нативную сборку. Не удалось получить данные с помощью axios. - PullRequest
0 голосов
/ 18 мая 2019

У меня есть работающий активный API отдыха, возвращающий данные JSON, созданные с помощью nodeJS и загруженные на веб-сервер.Также я использую реагировать родной для создания внешнего интерфейса для Android и IOS.API работает нормально и возвращает данные, как и ожидалось, когда я собираю отладочную версию приложения в Android с использованием «response-native run-android».Но приложение, похоже, не может извлечь данные из API, пока я собираю версию релиза в android, используя 'cd android && ./gradlew assemblyRelease'.Я не вижу хитов на сервере узлов из моего приложения.Я использую axios для моих запросов http.

1 Ответ

0 голосов
/ 21 мая 2019

Моя проблема решена.Согласно официальной документации Google, запросы к веб-серверу возможны только в защищенном домене с действующим сертификатом SSL. Для принудительного выполнения HTTP-запросов из небезопасного домена или домена с самозаверяющим сертификатом просто добавьте файл в

"yourProject / android / app / src / main / res / xml / network_security_config.xml"

со следующим содержимым -

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

    <domain-config cleartextTrafficPermitted="true">

        <!-- For React Native Hot-reloading system -->
        <!-- If you are running on a device insert your computer IP -->
        <domain includeSubdomains="true">localhost</domain>
        <domain includeSubdomains="true">your own domain ip</domain>

        <trust-anchors>
            <certificates src="system" />
            <certificates src="user" />
        </trust-anchors>

    </domain-config>

    <base-config cleartextTrafficPermitted="false" />

</network-security-config>

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

<application...
    android:networkSecurityConfig="@xml/network_security_config"
...>
...