Android-приложение не разрешает трафик открытым текстом, несмотря на добавление разрешений XML - PullRequest
1 голос
/ 05 апреля 2019

Я пытаюсь получить доступ к API сервера разработки, используя nativescript-vue. Я добавил все возможные разрешения в манифест андроида, но он выдает ошибку: JS: Ошибка: java.io.IOException: HTTP-трафик в незашифрованном виде по URL не разрешен

Вот мой манифест:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.INTERNET"/>

<application
        android:usesCleartextTraffic="true"
        android:name="com.tns.NativeScriptApplication"
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:cleartextTrafficPermitted="true"
        android:usesCleartextTraffic="true"
        android:networkSecurityConfig="@xml/network_security_config"
        android:theme="@style/AppTheme">

Вот файл network_security_config.xml:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
  <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
    <domain-config cleartextTrafficPermitted="true">
       <domain includeSubdomains="true">192.168.xxx.xxx</domain>
   </domain-config>
</network-security-config>

А вот код Nativescipt-vue:

httpModule.request({
        url: "http://192.168.XXX.XXX:XXXX/func",
        method: "POST",
        headers: { "Content-Type": "application/json" },
        content: data
      }).then((response) => {
        const result = response.content.toJSON();
      }, (e) => {
        console.error(e);
      });

1 Ответ

1 голос
/ 08 апреля 2019

Для тех, кто сталкивается с той же проблемой, tns platform remove android и tns platform add android работали для меня. После этого он начал читать обновленный манифест.

...