使用 Chrome DevTools 时 Cordova 应用程序崩溃

Posted

技术标签:

【中文标题】使用 Chrome DevTools 时 Cordova 应用程序崩溃【英文标题】:Cordova app crashes when using Chrome DevTools 【发布时间】:2017-10-05 02:25:42 【问题描述】:

我正在 Cordova 中为 android 创建一个应用程序,并且我正在使用 Chrome DevTools 进行调试。但是每次我使用检查元素时,我的应用程序都会崩溃而没有显示任何错误。

如果我只是启动 DevTools 和我的应用程序,它不会发生,它只会在我使用检查元素时发生。我还没有太多代码,只有一个加载所有 javascript 和 CSS 文件并为我的加载页面显示一些图像的索引文件。

我的控制台中也没有显示任何错误。

Chrome 版本 57.0.2987.133 三星 Galaxy Edge 7 安卓 7.0 科尔多瓦 6.5.0

更新: 在较新版本的 Chrome (58.0.3029.96) 中测试,问题仍然存在。

更新: 我使用的是真实设备,但通过 Android Studio 使用模拟设备时也存在问题。

【问题讨论】:

我们在使用 Pixel C 设备 (Android 7.1.2) 时遇到了同样的问题。该问题在调试会话期间弹出。在它按预期工作前一秒钟,然后突然停止工作。每当启动调试器时,应用程序就会崩溃。在该会话期间,开发机器和像素 C 上都没有更新。即使重新启动设备和开发机器,问题仍然存在。 我在 Redmi 4x (Android 6.0) 上遇到了同样的问题,它可以工作,但经过几次部署它就停止了。我可以连接到设备,我可以在开发工具中看到应用程序的屏幕,但之后应用程序崩溃了。 关闭开发者工具并在新标签中打开新工具为我解决了这个问题。 有代码吗? 你也可以打开 logcat 并检查是否有错误消息吗? 【参考方案1】:

由于可用信息有限,我猜这个问题可能与issue logged in chromium project 有关。

根据 chromium 问题 cmets,这可能是已完成调试的设备的问题,因为设备无法获取最新版本的 android webview。

OP 已经提到该问题也发生在模拟器中。所以可能启用 GPU 仿真的模拟器应该可以解决这个问题。

【讨论】:

通过更新您链接的线程中提到的Android System Webview,它解决了我的问题。从那以后,我的应用在调试时没有崩溃过。

以上是关于使用 Chrome DevTools 时 Cordova 应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章

chrome DevTools使用技巧

当我使用 Webpack HMR 在 Chrome DevTools 中更改样式时,页面样式会中断

Chrome 性能 DevTools 中不明确的“任务”

使用 Chrome Devtools 调试 Babel 转译的 React 时,“this”的值不正确

Chrome DevTools 获取 websocket 地址

在 Firebug 或 Chrome DevTools 中检查悬停状态