【问题标题】:getting net::ERR_CONNECTION_REFUSED (http://localhost:8080) on android 4.4.2 version在 android 4.4.2 版本上获取 net::ERR_CONNECTION_REFUSED (http://localhost:8080)
【发布时间】:2019-01-07 04:23:46
【问题描述】:

我从 this tutorial. 构建了一个简单的 ionic 项目

在小米Mix 2手机(安卓8.0.0)和浏览器上运行没有任何问题。 但是当我部署到三星note 2(android版本4.4.2)时, 它使用此消息给出应用程序错误: net::ERR_CONNECTION_REFUSED (http://localhost:8080)

为什么会出现这个错误?

任何意见和建议将不胜感激。

凯末尔。

【问题讨论】:

    标签: android ionic-framework ionic3


    【解决方案1】:

    我在 Android 4.4、Android 6.0 中遇到了同样的问题,但在 Android 8.0 中没有。我刚刚在 config.xml 中添加了这段代码以允许 localhost。

    <allow-navigation href="http://localhost:8080/*"/>
    

    欲了解更多信息,请点击以下链接: WKWebView

    【讨论】:

    • 这个技巧帮助我使用 Corber 将 Ember 应用程序转换为 Android 应用程序。谢谢! corber.io
    【解决方案2】:

    您的问题是由 cordova-plugin-ionic-webview 插件引起的,该插件是每个新的或更新的 Ionic 应用程序的一部分。

    这曾经仅适用于 iOS,它用 WKWebView 替换了 UIWebView,但在 2018 年 7 月 23 日,他们发布了插件的 2.0 版,其中还包括对 Android 上使用的 webview 的更改。

    Android webview 现在使用localhost:8080 的本地网络服务器来显示您的应用,而不是直接从文件系统请求文件。

    不幸的是,此更改还在文档中包含了这一点:

    Requirements
    - […]
    - Android: Android 5.0+ and cordova-android 6.4+
    

    所以cordova-plugin-ionic-webview 只是不再支持早于 5.0 的 Android,这当然意味着您的应用将无法在 Android 4.x 上运行。

    一种解决方案是将插件降级到支持 Android 4.x 的最新版本:

    ionic cordova plugin add cordova-plugin-ionic-webview@1.2.1
    

    更多详细信息和替代解决方案:
    https://ionic.zone/debug/ionic-and-android-4

    【讨论】:

    【解决方案3】:

    如果有人仍然无法解决此错误,

    1. 找到适合您的兼容 webview 版本并运行以下命令:
        cordova plugin rm cordova-plugin-ionic-webview
        cordova plugin add cordova-plugin-ionic-webview@4.1.3
    
    1. 如果您使用 ionic,请安装 ionic 插件包装器。 (如果您的项目不是 ionic 项目,请跳过此部分)
        npm install @ionic-native/ionic-webview
    
    1. 最后进行平台和插件的干净安装。删除 插件文件夹并运行以下命令:
        cordova platforms remove android
        ionic cordova build android
    

    或者,如果你使用离子,

        ionic cordova platforms remove android
        ionic cordova build android
    

    其他信息:插件版本cordova-plugin-ionic-webview@4.1.3 为我工作,适用于以下科尔多瓦和安卓版本:

    Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
    Cordova Platforms : android 8.1.0
    Android target    : android-28
    Android SDK Tools : 26.1.1
    cordova-android   : 8.1.0
    

    【讨论】:

      【解决方案4】:

      您收到此错误是因为 Android 中的每个功能和模块仅适用于较新版本的某个版本。它可能是 4.4.3 及更高版本、5.0 及更高版本,甚至是 8.0 及更高版本。这取决于。这意味着当您部署它时,您将需要选择最低版本。除了尝试更新版本之外,您无能为力。您还可以完全更改代码以使用旧模块。

      【讨论】:

      • 应用的 Cordova Platforms android 版本是 7.0.0 根据这个文档cordova.apache.org/docs/en/latest/guide/platforms/android/… ,它必须支持 4.4.2。
      • 经过测试,我在 5.0 以下的所有设备上都遇到了相同的错误。 5.0 对我有用。
      • @chrome,如果此答案正确,请将其标记为正确,以便将来的读者知道此问题已解决。
      • 不幸的是,这个答案并不完全正确 - 我添加了一个带有实际问题和解决方案的答案。
      【解决方案5】:

      即使在新设备上我也遇到了同样的错误。之后,我重新安装了cordova-plugin-ionic-webview 插件。重新安装将插件从 4.0.0 升级到 5.0.0 并在config.xml 中添加了新行:

      <allow-navigation href="http://localhost:8100" sessionid="f8f1cc34" />
      

      我仍在等待审核,但希望这会有所帮助。

      【讨论】:

        【解决方案6】:

        我遇到这个问题好几天了,我找到的所有解决方案都不起作用。

        Ionic 建议使用 Capacitor 而不是 Cordova 来构建应用程序。使用 Cordova 无法正常工作,而使用 Capacitor 则可以正常工作。

        首先在您的应用目录中删除 Android 文件夹(如果有)和 Platform / Android 文件夹中的文件夹。

        我在 APP 目录中时按 Powershell 启动的顺序使用了这些命令

        ionic build

        ionic capacitor add android

        npx cap open android

        第一个命令将创建一个 www 文件夹。 如果最后一条命令出错并且没有打开 Android Studio,请手动执行,(我建议使用 4.0 版本)。打开 Android Studio → 打开文件夹,导航到位于您的 APP 文件夹中的名为 Android 的文件夹,然后它对我有用。在 Android Sudio 4 中,确保您已更新 Gradle 并加载了 SDK。

        【讨论】:

          猜你喜欢
          • 2019-12-23
          • 2021-12-16
          • 2016-07-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-04-18
          • 1970-01-01
          相关资源
          最近更新 更多