【问题标题】:React Native: Release app not connecting to local serverReact Native:发布应用程序未连接到本地服务器
【发布时间】:2019-03-15 21:28:58
【问题描述】:

我正在尝试在 android 上构建我的应用的发布版本。

遵循从创建签名 apk 到 react native docs 的必要步骤。在我的设备上安装 apk 后,会加载初始页面,但当我尝试执行调用 api 的操作时没有响应。

我已运行本地服务器并将我的应用程序连接到与我正在运行的服务器相同的 IP。

我的应用程序的调试版本运行良好,但我很困惑为什么会发生这种情况。我正在使用 axios 进行调用,并将我的 url 设置为如下所示:http://192.168.12.24:8000/api/

您对可能出现的问题有什么想法吗? react native 是否不允许在发布应用中使用本地服务器?

【问题讨论】:

标签: android reactjs react-native axios react-native-android


【解决方案1】:

我设法解决了这个问题。事实证明,每次我生成一个新的 apk 时,我都应该运行这个包。

这就是我所做的:

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest andro id/app/src/main/res

cd android

./gradlew assembleRelease

引用自此answer

【讨论】:

    【解决方案2】:

    <application> 标签中添加android:usesCleartextTraffic="true" android\app\src\main\AndroidManifest.xml 对我有用。

    原因是默认情况下发布构建需要 https url 连接,并且您的服务器可能具有基于 http 的 API,例如 http://192.168.12.24:8000/api/,因此要避免使用此过滤器, usesCleartextTraffic="true" 使基于 http 的 api 可以从发布版本中访问。

    您可以在此处阅读更多信息。 https://github.com/facebook/react-native/issues/24361

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-11
      • 2016-10-20
      • 1970-01-01
      • 2013-07-20
      • 2020-06-01
      相关资源
      最近更新 更多