I've been searching through CLI docs, SO questions, Cordova issues and more for quite some time, but I'm stumped.
So I've created a simple Cordova app for Android using Crosswalk (cordova create, cordova platform add android, cordova plugin add cordova-plugin-crosswalk-webview, cordova build android, nothing fancy). This, by default, generates a bunch of apk's on cordova build which is fine.
But then cordova run android --device installs the arm64 apk which crashes at startup on my device with the message Mismatch of CPU Architecture - with a button to the store to GET CROSSWALK - which is not what I want.
I'd like to instruct cordova run android --device to install and run the armv7 apk, which runs perfectly fine if installed manually via adb install. How can I do this?
Notes:
debug build for local development, not for release.cordova-android@6.4.0 instead of 7.0.0 works fine, it installs the correct apk.Thank you!
I've resolved this issue follow @Mtz recommendation:
1) Install https://github.com/MBuchalik/cordova-build-architecture plugin adding to config.xml like this
<plugin name="cordova-build-architecture" spec="https://github.com/MBuchalik/cordova-build-architecture.git#v1.0.4" source="git" />
2) Add this preference to android section in config.xml:
<preference default="arm" name="buildArchitecture" />
3)
cordova clean
cordova build (This step only generates one apk, armv7)
cordova run --devices
The run command will install only armv7 version, remember to remove all apk from your device before trying this