从 Play 商店安装时,Android Cordova 应用程序崩溃

Posted

技术标签:

【中文标题】从 Play 商店安装时,Android Cordova 应用程序崩溃【英文标题】:Android cordova app crashes when installed from the play store 【发布时间】:2019-03-19 11:51:00 【问题描述】:

问题 通过 Play 商店安装时,基于 Cordova 构建的 android 应用崩溃/无响应。

详情 当我从 Play 商店安装我的 android 应用程序时,会有一个登录页面。当我输入我的详细信息进行登录时,它变得无响应。

这在以前没有发生过。我对代码库做了一些小改动,当我更新 apk 时,出现了这个问题。

技术栈 基于 Cordova 的 Android 应用程序。 与 Vue 和 Vuex 一起运行 Framework 7 这些是我正在使用的 Cordova 插件:

Cordova 版本 8.1.2 Cordova Android 平台 7.0.0 cordova-plugin-network-信息^2.0.1 cordova-plugin-whitelist ^1.3.3 cordova-plugin-inappbrowser ^3.0.0 onesignal-cordova-plugin ^2.4.3 cordova-plugin-google-analytics ^1.8.6

到目前为止采取的步骤:

已安装 Bugsnag,但未记录任何错误。我认为这是因为 webview 崩溃了,所以它无法记录任何 javascript 错误。 将 android debuggable 设为 true 并通过 Diawi 安装(因为 Play 商店不允许我们发布 debuggable=true 的应用)。在这种情况下工作正常

更新 似乎应用程序在用户登录时就崩溃了。这意味着它与 js 代码有关,但我无法调试它,因为已发布的应用程序无法进行远程调试。

【问题讨论】:

【参考方案1】:

我想我找到了问题。

基本上,如果 android 应用程序对 ssl 证书被破坏的网站进行 ajax 调用,它就会失败。这个问题由于应用程序不会抛出任何错误而大大加剧,而且这只发生在通过 google play 安装的应用程序的签名版本中(bugsnag 也无济于事)(我已经启用了 google keystone 登录)

您可以使用 sslchecker 之类的东西来检查 ssl 证书的任何问题。在我的情况下,ssl 证书是有效的,但它无法解析根证书。在服务器上安装中间证书(在 ssl 链下的 apache vhosts 配置中)解决了这个问题。

更新 Android 会缓存 ssl,因此在您从设置/应用页面清除应用缓存并重新安装应用之前,它仍然无法工作。

现在身份验证正在工作,但如果凭据错误,它将无法工作。

【讨论】:

以上是关于从 Play 商店安装时,Android Cordova 应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章

从 Play 商店中的不同帐户安装的应用程序未被 Android Management API 阻止

尽管定位了正确的SDK,Android App仍无法从Play商店安装。为什么?

从 Play 商店安装应用时缺少拆分 APK

是否可以在运行时可靠地检测到哪个商店安装了 Android 应用程序(Google Play 或亚马逊市场)?

在Play商店中正确跟踪安装推介

用户从 Play 商店安装后从应用发送欢迎通知?