2

因此,在开发过程中,我关闭了 wifi,然后 ionic 应用程序无法在 android 设备/模拟器中运行。

但是,当我使用已发布并签名的适用于 android 应用程序的 apk 文件关闭 wifi 时,它工作得很好。

问题是我需要我的应用程序在互联网连接关闭时执行某些操作:

   if(window.Connection) {
        if(navigator.connection.type == Connection.NONE) {
            //doSomething();
        }
      }

但是由于如果我关闭 wifi,应用程序不会在模拟器或设备上运行,因此我无法测试代码是否有效,而无需构建非常耗时的发布 apk。即使我关闭了wifi,我怎样才能让它工作?

我收到这样的错误消息:

在此处输入图像描述

4

2 回答 2

4

当您运行应用程序时,ionic run android -l -c所有数据和资源都通过网络从您的计算机提供。事实上,在这种情况下,它在移动设备上的运行方式与在计算机浏览器上运行的方式相同ionic serve。因此,当您关闭移动互联网时,它无法从计算机提供服务,因为网络是提供页面的渠道。但是ionic run android将所有应用程序源打包在移动设备中,并且资源来自file:///android_asset/www/.

ionic run -l -c 的真正目的: l代表肝负载,只要源代码发生变化,它就会不断刷新您的移动应用程序。c代表控制台,应用程序控制台日志显示在您启动应用程序的命令行中。它可以帮助 ionic 开发人员进行测试,因为他们不必一次又一次地安装应用程序。但请记住将手机连接到计算机,并且两者都应该在同一个互联网网络上。

注意:有时cordova plugins像相机等在这种环境中表现得很奇怪。所以-l -c在不检查插件相关功能的情况下更好地使用。

于 2015-09-11T19:59:53.387 回答
0

刚刚解决了这个问题。我试图运行该应用程序,ionic run android -l -c所以现在我运行它ionic run android并且当然不需要livereload -l,现在应用程序工作得很好

于 2015-09-11T19:34:26.977 回答