Cordova CLI:CPU架构不匹配问题求助
解决Crosswalk+Cordova应用arm64 APK启动崩溃的问题
我之前也碰到过这种坑,折腾了好一阵子才搞定,给你几个实用的解决方向:
先确认你的设备CPU架构
先搞清楚你的设备到底支持什么架构,避免装错版本。用adb命令查一下:adb shell getprop ro.product.cpu.abi大多数旧一点的Android设备都是
armeabi-v7a,而arm64的设备虽然兼容,但有时候Crosswalk的arm64包会有兼容性问题。指定架构运行应用
不用默认的arm64版本,直接指定对应你设备的架构来安装运行:cordova run android --device --abi armeabi-v7a这样Cordova就会安装对应架构的APK,不会再强制装arm64的版本了。
修改配置文件固定生成单一架构APK
如果不想每次都手动指定abi,可以在项目的config.xml里添加配置,强制生成指定架构的APK:<preference name="xwalkMultipleApk" value="false" /> <preference name="xwalkArch" value="armeabi-v7a" />之后再执行
cordova build android就只会生成你指定架构的包,run的时候自然也不会装错。更新Crosswalk插件版本
有些旧版本的Crosswalk插件在arm64架构上存在已知的兼容性bug,试试更新到最新版本:cordova plugin remove cordova-plugin-crosswalk-webview cordova plugin add cordova-plugin-crosswalk-webview@latest查看崩溃日志定位根因
如果上面的方法都不行,就用adb抓崩溃日志看看具体哪里出问题:adb logcat *:E日志里会给出崩溃的具体堆栈信息,比如是不是某个so库加载失败,这样就能更精准地解决问题。
内容的提问来源于stack exchange,提问作者Teodor Sandu
相关产品推荐
相关产品推荐

