Cordova CLI:CPU 架构不匹配

Cordova CLI: Mismatch of CPU architecture

我一直在搜索 CLI 文档、SO 问题、Cordova 问题等等,但我被难住了。

所以我使用 Crosswalk(cordova createcordova platform add androidcordova plugin add cordova-plugin-crosswalk-webviewcordova build android 为 Android 创建了一个简单的 Cordova 应用程序(没什么特别的) .默认情况下,这会在 cordova build 上生成一堆 apk,这很好。

但随后 cordova run android --device 安装了 arm64 apk,该 apk 在我的设备上启动时崩溃并显示消息 Mismatch of CPU Architecture - 带有商店按钮 GET CROSSWALK - 这不是我想要的。

我想指示 cordova run android --device 安装 运行 armv7 apk,如果通过 adb install 手动安装,运行 完全没问题.我该怎么做?

备注:

谢谢!

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

如果您只需要 install/run 用于 armv7 的 apk 用于调试目的,请将 cdvBuildMultipleApks 属性 设置为 false。

查看此 Setting Gradle Properties for cdvBuildMultipleApks property and allso, Build Environment UserGuide 以将其设置在当前位置。

这也可能有帮助:

Crosswalk git 存储库报告相同问题:https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview/issues/203

一些用户通过打开 android studio 并更改默认架构来解决,但我不知道 cordova 适合的设置或配置 android studio 随之改变。

I solved the problem. I found that the plugin works correctly in my case. The problem was with the Android Studio. Android Studio 3.0.1 uses arm64Debug by default. To solve this problem I have taken the following steps in the Android Studio:

  • click on the app Build
  • Select Build Variant
  • Select 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