Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android React native AssemblereRelease无法使用axios获取数据_Android_Ios_React Native_Axios_Nodeapi - Fatal编程技术网

Android React native AssemblereRelease无法使用axios获取数据

Android React native AssemblereRelease无法使用axios获取数据,android,ios,react-native,axios,nodeapi,Android,Ios,React Native,Axios,Nodeapi,我有一个实时工作的restful API,返回用nodeJS创建并上传到Web服务器的JSON数据。我还使用react native为android和IOS构建前端。当我使用“react native run android”在android中构建应用程序的调试版本时,api工作正常,并按预期返回数据。但是当我使用“cd-android&&./gradlew-assembleerelease”在android中构建发布版本时,应用程序似乎无法从API获取数据。我在我的应用程序的节点服务器上看不到

我有一个实时工作的restful API,返回用nodeJS创建并上传到Web服务器的JSON数据。我还使用react native为android和IOS构建前端。当我使用“react native run android”在android中构建应用程序的调试版本时,api工作正常,并按预期返回数据。但是当我使用“cd-android&&./gradlew-assembleerelease”在android中构建发布版本时,应用程序似乎无法从API获取数据。我在我的应用程序的节点服务器上看不到任何点击。
我正在使用axios进行http请求。

我的问题已经解决。根据Google的官方文档,只有在具有有效SSL证书的安全域中才能向web服务器请求。要强制来自不安全域或具有自签名证书的域的HTTP请求,只需在中添加一个文件

“yourProject/android/app/src/main/res/xml/network\u security\u 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>

本地服务器
您自己的域ip
然后通过在应用程序标记之间将此行添加到AndroidManifest.xml导入xml文件-

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


在android/app/src/main/AndroidManifest.xml中添加
android:usesCleartextTraffic=“true”
,对我来说效果很好。出于开发目的,我们可能还想将其添加到调试文件夹(main的同级)中。

这是否与您试图从http而不是https获取数据有关?如果是,请检查此解决方案: