Meteor 2.3.5运行meteor run android提示Build Tools 31.0.0损坏如何解决
解决方案
问题根因
Android Build Tools 31.0.0版本将传统dx工具替换为d8,而Meteor 2.3.5绑定的Cordova Android版本未适配该改动,即便仅安装Android 10 (API 29)的SDK,构建过程仍会默认调用最高版本的Build Tools触发报错。
操作步骤
- 卸载31.0.0版本Build Tools
打开Android Studio的SDK Manager,切换到「SDK Tools」标签页,勾选右下角的「Show Package Details」,展开Android SDK Build-Tools,找到31.0.0版本,取消勾选后点击Apply完成卸载。 - 安装兼容的Build Tools版本
同样在Android SDK Build-Tools列表中,勾选30.0.3版本,点击Apply完成安装。 - 配置Meteor指定Build Tools版本
在项目根目录编辑mobile-config.js(不存在则新建),添加如下配置:App.appendToConfig(` <preference name="android-buildToolsVersion" value="30.0.3" /> <preference name="android-targetSdkVersion" value="29" /> `); - 重置Cordova安卓平台并构建
依次执行命令:meteor remove-platform android meteor add-platform android meteor run android
应急兼容方案
如果仍触发31.0.0版本的相关报错,可直接在Build Tools目录创建软连接伪装d8为dx:
cd ~/Android/Sdk/build-tools/31.0.0 ln -s d8 dx ln -s d8.bat dx.bat
该方案无需修改项目配置,即可正常完成构建。
内容的提问来源于stack exchange,提问作者James Newton
相关产品推荐
相关产品推荐

