【问题标题】:My Ionic app can't access my local Node server from Android emulator我的 Ionic 应用程序无法从 Android 模拟器访问我的本地节点服务器
【发布时间】:2021-02-27 00:19:08
【问题描述】:

我第一次尝试在使用 Capacitor 的 Android 模拟器上运行我的 React/Ionic 应用程序。该应用程序应该使用 Axios 连接到我的本地节点服务器。

当我的应用程序在模拟器上成功启动时,所有服务器请求都失败了Msg: Error: Network Error

这是我执行的步骤:

  • 我将 Axios 配置为连接到 http://10.0.2.2:3001 而不是 localhost,但请求仍然失败

  • 我在 Android Emulator Chrome 浏览器中打开了 URL http://10.0.2.2:3001/api,它成功连接到我的服务器并返回响应

  • 我尝试将以下配置添加到我的电容器.config.json 文件中,但我的应用程序仍然失败

    "server": {
      "allowNavigation": ["10.0.2.2"]
    }
    

您是否有其他建议我应该尝试让我的应用程序连接到我的本地服务器?谢谢

【问题讨论】:

    标签: android-studio cordova ionic-framework capacitor


    【解决方案1】:

    如果你在云上使用实例,修改主机文件,在 linux 上的规则是:/etc/hosts

    添加这一行:

    本地主机

    【讨论】:

      【解决方案2】:

      经过搜索,在另一个SO question找到了解决方法:

      • 问题出在我的应用使用http 而不是Android 默认禁止的https 请求这一事实,从API 级别28 开始。

      为了允许http 请求,我将android:usesCleartextTraffic="true" 添加到我的应用程序的AndroidManifest.xml

      参考:https://developer.android.com/guide/topics/manifest/application-element#usesCleartextTraffic

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-10-10
        • 1970-01-01
        • 1970-01-01
        • 2022-08-08
        • 2011-04-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多