【问题标题】:React Native: API calls work locally but not from APKReact Native:API 调用在本地工作,但不是来自 APK
【发布时间】:2021-05-04 17:50:54
【问题描述】:
我已经使用 Dokku 将 botpress 应用程序部署到 AWS (EC2),遵循 botpress 的 docs。为了与机器人通信,我正在对 IP 地址 (52.xx.xxx.xx:3000) 进行 API 调用。
当我在本地运行我的 RN 应用程序或使用 Postmen 测试 API 时,这可以正常工作。一旦我发布了一个 APK,我就无法再与 API 通信,而且我无法查看网络请求失败的原因。
由于我对服务器不是很有经验,我假设问题出在服务器设置的某个地方,感谢您的任何建议。
【问题讨论】:
标签:
amazon-web-services
react-native
api
server
【解决方案1】:
您使用的是 HTTP 吗?在这种情况下,在 AndroidManifest.xml 中使用 android:usesCleartextTraffic="true"
【解决方案2】:
为了从 HTTP URL 查看远程文档,需要明文网络流量支持。在 Android 9.0(API 级别 28)或更高版本上,默认禁用明文支持,针对 Android 9.0 或更高版本的应用需要在 AndroidManifest 中添加 android:usesClearTextTraffic="true" 标志.xml 文件。
如果您只使用 HTTPS 文件,则不需要此标志。