[英]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.