androidcordovacrosswalk

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


I am beta testing versions of my app in the Google Play store, and I recently added crosswalk versions (all in the same version beta) so that older devices could use my cordova app. This works well, but I find that ALL devices are loading the crosswalk version, even though I (think I correctly) followed the instructions here to "publish a multi-APK application on the Play Store that uses Crosswalk for Pre-L devices, and the (updatable) system webview for L+"

Alas, even though I have 3 versions uploaded into my single beta (Crosswalk ARM, Crosswalk X86, and Non-Crosswalk), when I connect from devices with a higher API than 21 (my minSdkVersion set for the non crosswalk version), the devices STILL download the crosswalk version.

Is there some trick to getting the newer devices to use the non crosswalk version?


Solution

  • Well, I THINK I found a way to do this, hopefully this will help someone else. I had to make sure that my NON crosswalk version had a higher build version number (in the manifest) than either of the others, and that finally allowed it to install. So for example, I had to make sure that android:versionCode="VERSION" was using something like the following:

    These are all uploaded to the same version number on the play store, but their version code numbers need to be in this order apparently.

    Way to make things simple and obvious Google.