我的 Ionic 应用程序无法从 Android 模拟器访问我的本地 Node 服务器

H-H*_*H-H 0 cordova android-studio ionic-framework capacitor

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

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

这是我所做的步骤:

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

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

  • 我尝试将以下conf添加到我的capacitor.config.json文件中,但我的应用程序仍然失败

    "server": {
      "allowNavigation": ["10.0.2.2"]
    }
    
    Run Code Online (Sandbox Code Playgroud)

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

H-H*_*H-H 8

经过搜索,我在另一个SO问题中找到了解决方案:

  • 问题来自于这样一个事实:我的应用程序使用的http不是httpsAndroid 默认禁止的请求(从 API 级别 28 开始)。

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

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