[英]Cordova CLI: Mismatch of CPU architecture
我一直在搜索CLI文档,SO问题,Cordova问题等等,但我很难过。
所以我使用Crosswalk创建了一个简单的Cordova Android应用程序( cordova create
, cordova platform add android
, cordova plugin add cordova-plugin-crosswalk-webview
, cordova build android
,没有什么花哨的)。 默认情况下,这会在cordova build
生成一堆apk,这很好。
然后cordova run android --device
安装arm64
apk在我的设备启动时崩溃与消息Mismatch of CPU Architecture
- 与商店的按钮GET CROSSWALK
- 这不是我想要的。
我想指示cordova run android --device
来安装和运行armv7
apk,如果通过adb install
手动adb install
,它运行完全正常。 我怎样才能做到这一点?
笔记:
debug
版本,而不是用于release
。 cordova-android@6.4.0
而不是7.0.0
工作正常,它安装正确的apk。 谢谢!
Crosswalk git存储库报告同样的问题: https : //github.com/crosswalk-project/cordova-plugin-crosswalk-webview/issues/203
一些用户通过打开android studio解决并更改默认架构,但我不知道什么cordova适当的设置或配置android studio改变了。
我解决了这个问题。 我发现插件在我的情况下正常工作。 问题出在Android Studio上 。 Android Studio 3.0.1默认使用arm64Debug 。 为了解决这个问题,我在Android Studio中采取了以下步骤:
- 点击应用程序Build
- 选择Build Variant
- 选择armv7Debug
希望能帮助到你。
我已按照@Mtz推荐解决了这个问题:
1)安装https://github.com/MBuchalik/cordova-build-architecture插件添加到config.xml这样
<plugin name="cordova-build-architecture" spec="https://github.com/MBuchalik/cordova-build-architecture.git#v1.0.4" source="git" />
2)将此首选项添加到config.xml中的android部分:
<preference default="arm" name="buildArchitecture" />
3)
cordova clean
cordova build (This step only generates one apk, armv7)
cordova run --devices
run命令只会安装armv7版本,记得在尝试之前从你的设备中删除所有apk
默认情况下,Cordova会生成一个build.gradle文件,该文件会根据您安装的程序行为或插件而更改。
如果您只需要为armv7安装/运行apk以进行调试,请将cdvBuildMultipleApks属性设置为false。
查看这个设置 grav 属性的cdvBuildMultipleApks属性和allso, Build Environment UserGuide,用于在当前位置设置它。
这也许也有帮助: 这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.