提问者:小点点

科尔多瓦CLI:CPU建筑的不匹配


很长一段时间以来,我一直在搜索CLI文档、SO问题、科尔多瓦问题等等,但我被难倒了。

所以我已经使用Crosswalk为Android创建了一个简单的Cordova应用程序(cordova createcordova平台添加androidcordova plugin添加cordova-plugin-Cross walk-webviewcordova build android,没什么花哨的)。默认情况下,这会在cordova build上生成一堆apk。

但是,然后cordova run android--design安装arm64apk,它在我的设备上启动时崩溃,消息是CPU架构的不匹配-带有一个按钮到商店GET CROSSWALK-这不是我想要的。

我想指示cordova run android--design安装并运行armv7apk,如果通过adb install手动安装,它运行得非常好。我该怎么做?

  • 科尔多瓦v8.0.0
  • 科尔多瓦-android v7.0.0
  • cordover-plugin-人行横道-webview v2.4.0

注意事项:

  • 这是用于本地开发的debug构建,而不是用于release
  • 使用cordova-android@6.4.0而不是7.0.0可以正常工作,它会安装正确的apk。

谢谢你!


共3个答案

匿名用户

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中采取了以下步骤:

  • 单击应用程序Build
  • 选择构建变体
  • 选择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

运行命令将只安装armv7版本,请记住在尝试此操作之前从设备中删除所有apk

匿名用户

默认情况下,Cordova会生成一个build. gradle文件,该文件会根据您安装的程序行为或插件进行更改。

如果您只需要为armv7安装/运行apk以进行调试,请将cdvBuildMultipleApks属性设置为false。

查看此设置Gradle属性为cdvBuildMultipleApks属性和所有,构建环境用户指南设置在正确的地方。

这可能也是有帮助的:这里