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