React-Native(仅限 Android)- TypeError:网络请求失败

问题描述 投票:0回答:1

我使用 React Native,我想从我的 API 获取数据。我的 API 是外部托管的。 我的 API 是使用 ExpressJS 制作的。

为了发出 HTTP 请求(GET 和 POST 请求),实现了 React Native Fetch

每当尝试调用 API(GET 或 POST,我不使用 PUT 或其他)时,都会抛出错误

TypeError: Network request failed

在以下环境中不会出现该错误:

  1. Android(本地开发,使用Expo Go)
  2. iOS(本地开发,使用Expo Go)
  3. iOS(在应用商店发布)

该错误仅发生在生产应用程序中,该应用程序在 Google Play 商店中可见。

我使用 Sentry 记录客户端发生的任何错误。

在这里可以看到错误。 Screenshot of error in Sentry

在我的 API 服务器内部,我使用一个函数将错误写入日志文件。

我们公司的一些客户已经就这个问题联系我们。

我的以下尝试没有解决问题:

  • 重启API服务。
  • 从创建 Express 应用程序的 Express 文件中删除
    app.use(cors());
  • 尝试调用我的其他 API 端点之一。
  • 在我的服务器端查看错误日志。 -> 端点似乎从未被调用过。
  • 在 BlueStacks 上安装应用程序,看看那里是否也发生错误 -> 是的,这里发生错误。
  • 让我的同事拿来他的 Android 手机来测试该应用程序,看看那里是否发生错误 -> 是的,这里发生错误。
  • 验证 Google Play 商店中发布的版本是否正确。 -> 是的,版本正确。
  • 尝试发布具有相同代码的新版本。 -> 没有解决问题。
  • 搜索 Google 以找到可能的修复方法。
android react-native fetch-api
1个回答
0
投票

application android:name=".MainApplication" android:label="@string/app_name" android:usesCleartextTraffic="true" android:theme="@style/AppTheme">

android:usesCleartextTraffic="true" android:screenOrientation="portrait">

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.