【问题标题】:Android + Chrome 90 = Apps HangingAndroid + Chrome 90 = 应用挂起
【发布时间】:2021-04-15 20:40:31
【问题描述】:

我们有一个 Cordova 应用程序,已经为成千上万的用户正常运行。我们从昨晚(2021-04-14 10PM Central)开始有报道称,少数用户的应用程序在启动时挂起。我知道大约一个月前,当 Google 发布了一些针对 Chrome 和 WebView 的更新 caused a problem with many apps 时,我们遇到了应用问题。

我个人无法重现少数人报告的这个问题。但是,我也无法在 Google Play(最近发布)中更新到 Chrome 90。是否有人知道 Android 上的 Chrome 90 存在问题,导致其他应用程序挂起(尤其是依赖于 webview 的应用程序)?我不确定在哪里可以找到这些报告。我也不确定为什么我无法在我的任何 Android 设备上更新到 Chrome 90。

更新:

我无法在我的 Android 设备上将 Chrome 更新到 v90,但我可以更新 Android System Webview 应用程序,该应用程序也在 4 月 13 日进行了更新。我的应用程序因此更新而挂起。我需要研究原因,但有没有人知道其他无法与此 Android System Webview 更新配合使用的 cordova 应用程序?有已知的错误吗?

【问题讨论】:

  • 我已将设备上的 Android 系统 Webview 更新为 90.0.4430.66 并测试了几个 Cordova 应用程序,它们似乎没有挂起。是否是您的应用程序中的特定插件导致挂起?您能否使用 Chrome 开发工具或 Android Studio Logcat 获取任何错误详细信息?
  • 感谢 Dave,知道这不是所有的 Cordova 应用程序很有帮助。调试是我今早的下一步,因为我重新创建了它。如果我发现确凿证据,我会在这里发布更新。
  • 看起来 CSP 处理可能在最新的 Chrome 90 中发生了变化?我收到很多关于 file://localhost/ 资产被拒绝的 CSP 错误。这包括应用程序的所有核心 cordova 资产。将此添加到 CSP 似乎让它通过了。所以也许这是 Chrome 90 关闭的 CSP 中的一个漏洞?

标签: android google-chrome cordova


【解决方案1】:

这似乎是 Chrome 90 版本中内容安全策略 (CSP) 差异的结果。我们使用 Ionic webview 插件,它为 Android 的 file://localhost 方案/主机设置提供主要资产。我们的内容安全策略中没有这个,它在 Chrome 90 之前运行良好。在 Chrome 90 之后它被阻止了,所以我们必须将 file://localhost 添加到我们 CSP 的 default-srcstyle-src 区域.

希望这可以帮助其他受此困扰的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-05
    • 2016-05-18
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    • 2019-12-17
    • 2012-10-23
    相关资源
    最近更新 更多