Android Studio 编译 error "Installed Build Tools revision 31.0.0 is corrupted"

Android 2021-10-16 阅读 47 评论 0

问题描述

最近把安卓项目的构建版本升级了,具体如下:

buildscript {
    ext {
        supportLibVersion = "31.0.0"
        buildToolsVersion = "31.0.0"
        minSdkVersion = 21
        compileSdkVersion = 31
        targetSdkVersion = 31
    }
}

编译的时候报错了,提示 Build Tools revision 损坏。

Android Studio error "Installed Build Tools revision 31.0.0 is corrupted"

尝试点击 Tools → SDK Manager → SDK Tools → 勾选“Show package details”,取消勾选31.0.0,点击“Apply” → 卸载31.0.0 → 勾选31.0.0并重新安装。但是重新编译,还是同样的错误。

解决方法

主要问题是 SDK 构建工具 31 中缺少的两个文件是。

  1. dx.bat
  2. dx.jar

这些文件的命名为 d8,因此将它们的名称更改为 dx 可以解决错误。

对于Windows

  1. 前往目录
     "C:\Users\user\AppData\Local\Android\Sdk\build-tools\31.0.0"​
  2. 找到一个名为 d8.bat 的文件。这是一个 Windows 批处理文件。
  3. 将 d8.bat 重命名为 dx.bat。
  4. 在文件夹 lib ("C:\Users\user\AppData\Local\Android\Sdk\build-tools\31.0.0\lib")
  5. 将 d8.jar 重命名为 dx.jar

对于macOS / Linux

在终端运行以下命令:

# change below to your Android SDK path
cd ~/Library/Android/sdk/build-tools/31.0.0 \
  && mv d8 dx \
  && cd lib  \
  && mv d8.jar dx.jar
最后更新 2021-10-16
MIP.watch('startSearch', function (newVal, oldVal) { if(newVal) { var keyword = MIP.getData('keyword'); console.log(keyword); // 替换当前历史记录,新增 MIP.viewer.open('/s/' + keyword, {replace: true}); setTimeout(function () { MIP.setData({startSearch: false}) }, 1000); } }); MIP.watch('goHome', function (newVal, oldVal) { MIP.viewer.open('/', {replace: false}); });