首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果不使用Charles + SSL隧道,React Native应用程序无法访问Android上的后端API

如果不使用Charles + SSL隧道,React Native应用程序无法访问Android上的后端API
EN

Stack Overflow用户
提问于 2021-08-13 14:57:46
回答 1查看 200关注 0票数 2

我的RN应用程序在iOS上运行得很好。但在安卓上,它无法到达后端(使用https托管在云中)或任何其他网址,如https://randomuser.me/api

但是当我让设备使用Charles作为HTTP代理,安装Charles根证书并为后端主机名(或randomuser.org)启用SSL代理时-它工作起来没有任何问题。

这个问题在2台android 9物理设备和Android 11模拟器上都存在。

我相信我需要更改应用程序代码中的某种配置,以便让应用程序调用我的后端-它以前已经起作用了,但现在升级了包括Android Studio在内的所有东西后就不起作用了。或者可能设备已经搞砸了?

不幸的是,Apisauce的错误并没有给我太多的提示。我也尝试过原始抓取,在没有通过Charles SSL代理的时候得到了这个错误。

我从fetch得到的唯一东西就是Fetch ERROR [TypeError: Network request failed]

会出什么问题呢?

EN

Stack Overflow用户

回答已采纳

发布于 2021-08-13 15:04:33

app/src/main/res/xml文件夹中创建network_security_config.xml文件(如果没有xml文件夹,只需创建一个新文件夹)并添加以下内容

代码语言:javascript
运行
复制
<?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>

在AndroidManifest.xml中添加以下两行

代码语言:javascript
运行
复制
<application
    ...
    android:usesCleartextTraffic="true"
    android:networkSecurityConfig="@xml/network_security_config"
    ...
>

重新安装应用程序

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68774476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档