簡體   English   中英

Cordova CLI:CPU架構不匹配

[英]Cordova CLI: Mismatch of CPU architecture

我一直在搜索CLI文檔,SO問題,Cordova問題等等,但我很難過。

所以我使用Crosswalk創建了一個簡單的Cordova Android應用程序( cordova createcordova platform add androidcordova plugin add cordova-plugin-crosswalk-webviewcordova 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 ,它運行完全正常。 我怎樣才能做到這一點?

  • cordova v8.0.0
  • cordova-android v7.0.0
  • cordova-plugin-crosswalk-webview v2.4.0

筆記:

  • 這是用於本地開發的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM