很长一段时间以来,我一直在搜索CLI文档、SO问题、科尔多瓦问题等等,但我被难倒了。
所以我已经使用Crosswalk为Android创建了一个简单的Cordova应用程序(cordova create
,cordova平台添加android
,cordova plugin添加cordova-plugin-Cross walk-webview
,cordova build android
,没什么花哨的)。默认情况下,这会在cordova build
上生成一堆apk。
但是,然后cordova run android--design
安装arm64
apk,它在我的设备上启动时崩溃,消息是CPU架构的不匹配
-带有一个按钮到商店GET CROSSWALK
-这不是我想要的。
我想指示cordova run android--design
安装并运行armv7
apk,如果通过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工作室并更改默认架构,但我不知道android工作室会更改哪些cordova合适的设置或配置。
我解决了这个问题。我发现插件在我的情况下工作正常。问题出在Android Studio上。Android Studio 3.0.1默认使用arm64Debug。为了解决这个问题,我在Android Studio中采取了以下步骤:
希望有帮助。
我已经解决了这个问题,遵循@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
运行命令将只安装armv7版本,请记住在尝试此操作之前从设备中删除所有apk
默认情况下,Cordova会生成一个build. gradle文件,该文件会根据您安装的程序行为或插件进行更改。
如果您只需要为armv7安装/运行apk以进行调试,请将cdvBuildMultipleApks属性设置为false。
查看此设置Gradle属性为cdvBuildMultipleApks属性和所有,构建环境用户指南设置在正确的地方。
这可能也是有帮助的:这里