【问题标题】:Codepush not working for all android usersCodepush 不适用于所有安卓用户
【发布时间】:2018-10-04 00:16:39
【问题描述】:

大家好,我正在使用 Microsoft 的 CodePush 和 Ionic 应用程序 (https://ionicframework.com/docs/native/code-push/)。

它非常适合我们的 iOS 用户和我们的大多数 Android 用户,但是我们收到了大量来自 Android 用户的报告,称它无法正常工作。他们说它在检查更新屏幕上冻结了。

我似乎无法在报告此问题的用户之间找到任何一致性。我一直在询问他们的 Android 版本、他们拥有哪款手机以及他们拥有多少可用存储空间。我使用的所有 Android 测试设备都可以正常工作,所以我不确定从这里去哪里。

我只是想知道是否有其他人在这方面有任何经验,并且可能知道在哪里指向我来更深入地研究这个问题。谢谢!

【问题讨论】:

  • 所以看起来只有 android 8.0+ 版本会遇到这个问题......
  • 另一个更新:我出去买了一部便宜的 8.0 版安卓手机,codepush 出现以下错误:[CodePush] 无法获取二进制哈希。错误:无法获取二进制哈希。跨度>
  • 别在意最后一条评论 - 它也会在我的其他 Android 6.0 上引发该错误,但它适用于那部手机,所以我认为这不是问题的一部分..
  • 进一步研究,似乎在我在我的 Android 8.0 手机上进行代码推送更新后,this.codePush.checkForUpdate().then( (remotePackage) => { THIS NEVER HAPPENS });

标签: android ionic-framework ionic3 code-push


【解决方案1】:

看起来有些人发现代码推送和一些最近的 ionic webview 版本存在问题。你可能想看看它是否相关:

https://github.com/Microsoft/cordova-plugin-code-push/issues/451

【讨论】:

  • 感谢您的回复 - 看起来他们的问题是新版本的 webview。他们说最后一个工作版本是 1.2.1,但是我使用的是 webview 的 1.1.16 版本。这个问题对我们来说已经发生了很长时间,所以我认为它不相关 - 它现在变得越来越普遍,因为我们的用户群正在增加。
【解决方案2】:

我终于通过以下方式让它工作了:

1) 关注@BRass 的帖子,确保 webview 是 1.2.1 版

ionic cordova platform rm android
ionic cordova plugin rm cordova-plugin-ionic-webview
ionic cordova plugin add cordova-plugin-ionic-webview@1.2.1
ionic cordova platform add android

2) 转到您的 index.html 并添加

<script src="build/polyfills.js"></script>

直接在

之前
<script src="cordova.js"></script>

瞧,它起作用了!

【讨论】:

  • 注意:由于这篇文章我发现如果你使用的不是cordova android 7.x.x 版本,Codepush 可能无法在所有版本的android 上运行。确保您的 cordova android 版本是最新的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-11
  • 2022-12-10
  • 1970-01-01
相关资源
最近更新 更多