Ionic 2 - 在Android设备

时间:2017-07-25 12:51:25

标签: android cordova ionic2 httprequest

(抱歉我的英语不好)

我已经使用Ionic 2 for Android构建了一个应用程序。在这个应用程序中,我需要从API获取信息,当我在浏览器中执行它时,它可以完美地工作(离子服务)。

问题是当我在我的设备上运行时(Android 6.0.1)我遇到了这个问题:

  

净:: ERR_CONNECTION_TIMED_OUT

然后我搜索了如何解决这个问题,并尝试了很多东西。

我有cordova-plugin-whitelist,我的config.xml看起来像:

<content src="index.html" />
<allow-navigation href="*" />
<allow-intent href="*" />
<access origin="*" subdomains="true" />

我把它放在我的index.html中:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'; img-src * data: 'unsafe-inline'; connect-src * 'unsafe-inline'; frame-src *; media-src *;">

我已经阅读了很多关于这个问题的文档,但我没有找到任何真正有用的文章。

有人能帮助我吗?

由于

6 个答案:

答案 0 :(得分:8)

我所要做的就是确保ionic cordova run android -l -c -s能够在我的Android手机上运行。

  1. 我的笔记本电脑和手机都在同一个网络上。
  2. 我可以访问livereload服务器(在我的笔记本电脑上)。例如。 可以在我的手机Chrome浏览器上访问http://192.168.1.5:8100
  3. 如果无法完成第2步。在Windows 10上执行以下操作以在我的笔记本电脑上为Node.js启用防火墙设置 Click here for picture of Enable firewall configuration

答案 1 :(得分:3)

错误中所述的明显连接问题。

确保您尝试通过应用程序访问的资源可以先在移动浏览器中直接访问。如果您确保在设备浏览器中可访问,那么应用程序连接问题将得到解决。干杯

答案 2 :(得分:1)

在Windows上,这是一个防火墙问题。禁用防火墙有效,但不建议这样做。只需在防火墙例外中添加Node.js.

答案 3 :(得分:1)

离子4 解决方案( 100%工作):

  • 运行命令-ionic serve --devapp

  • 转到-Windows 10中的“ Windows Defender安全中心”。在防火墙中禁用域,专用和公用网络。

  • 此外,在devApp中“清除所有应用程序数据”(侧面导航栏中的选项)。

在真实设备上享受实时重新加载新应用的乐趣!

答案 4 :(得分:0)

将以下行添加到confix.xml文件

<preference name="loadUrlTimeoutValue" value="700000" />

答案 5 :(得分:0)

在Ubuntu中,此问题有时可能与防火墙有关。我遇到了这个问题,尝试了所有方法,但无济于事。 最后,我禁用了我的ubuntu防火墙,它的运行就像一个魅力。 在ubuntu中,UFW是默认防火墙。
您可以通过以下方式禁用它: sudo ufw disable
检查其状态: sudo ufw状态
稍后启用它: sudo ufw enable

(确保将设备和系统保持在同一网络中) 希望能对我有所帮助。