非人行横道版本未加载到较新的设备上(当人行横道版本也存在时)

NON crosswalk version not loading on newer devices (when crosswalk version also present)

我正在 Google Play 商店中测试我的应用程序版本,并且我最近添加了人行横道版本(所有版本都在同一测试版中),以便旧设备可以使用我的 cordova 应用程序。这很好用,但我发现所有设备都在加载人行横道版本,即使我(认为我是正确的)按照说明 here 到“ 在 Play 商店发布一个多 APK 应用程序对 Pre-L 设备使用 Crosswalk,对 L+"

使用(可更新的)系统 webview

唉,即使我有 3 个版本上传到我的单一测试版(Crosswalk ARM、Crosswalk X86 和 Non-Crosswalk),当我从 API 高于 21 的设备连接时(我的 minSdkVersion 设置为非人行横道版本),设备仍会下载人行横道版本。

是否有一些技巧可以让较新的设备使用非人行横道版本?

好吧,我想我找到了一种方法,希望这对其他人有帮助。我必须确保我的非人行横道版本具有比其他任何一个更高的构建版本号(在清单中),并且最终允许它安装。因此,例如,我必须确保 android:versionCode="VERSION" 使用如下内容:

  • android-armv7-release.apk: android:versionCode="30102" (android:minSdkVersion="16")
  • android-x86-release.apk: android:versionCode="30104"(android:minSdkVersion="16")
  • android-release.apk:android:versionCode="30106"(android:minSdkVersion="21")

这些都是在play商店上传到同一个版本号,但是显然他们的版本号需要按这个顺序。

让事情简单明了的方法Google。