Nativescript Android应用程序不允许明文通信,尽管添加了xml权限

Nativescript Android应用程序不允许明文通信,尽管添加了xml权限,nativescript,nativescript-vue,Nativescript,Nativescript Vue,我正在尝试使用nativescript vue访问开发服务器API。我已经在android清单中添加了所有可能的权限,但它给出了一个错误:JS:error:java.io.IOException:cleartexthttp流量到url not allowed 这是我的舱单: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android

我正在尝试使用nativescript vue访问开发服务器API。我已经在android清单中添加了所有可能的权限,但它给出了一个错误:JS:error:java.io.IOException:cleartexthttp流量到url not allowed

这是我的舱单:

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

对于那些面临同样问题的人来说,tns平台删除android和tns平台添加android对我来说都很有效。在此之后,它开始读取更新的清单

进入App_Resources->Android->src\main->AndroidManifest.xml添加Android:usesCleartextTraffic=true进入application xml部分,然后执行tns update Resources cmd

更新清单后是否尝试了干净的生成?在android之间:usesCleartextTraffic=true应该可以做到这一点,除非你想只在我没有机会亲自尝试的特定域上允许明文通信。@Manoj,是的,我尝试过干净的构建。我还试着把android:usesCleartextTraffic=true单独放在线路上,但它似乎不起作用。你在使用模拟器/设备吗?你正在使用哪个版本的Android?我找到了一个解决方案。tns平台删除了android,然后tns平台添加了android。可能不是在看舱单。谢谢@Manoj的帮助。你已经提到你尝试了干净构建,我猜你一开始不理解干净构建的含义。嘿,Teddomatic,我尝试了这些命令,但我仍然得到同样的错误。不知道为什么我的清单文件没有得到尊重。@SammyKumar,你以前停止过运行的程序吗?尝试在实际设备上运行它,或者在使用模拟器时重新启动模拟器。
<?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>
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);
      });