android - Android Studio 错误“安装的构建工具修订版 31.0.0 已损坏”
问题描述
我在 Android Studio 4.2.2 上。我创建了一个新项目,并且没有在启动代码中添加任何内容,每当我单击build 或 run时,我都会收到此错误:
安装的构建工具修订版 31.0.0 已损坏。使用 SDK 管理器删除并重新安装。
我查看了其他帖子的建议,但这些解决方案都没有奏效。这是我尝试过的:
- SDK Manager → SDK Tools → 勾选“Show package details”,取消勾选 31.0.0,点击“Apply” → Uninstall 31.0.0 →勾选 31.0.0 并重新安装
- 在 SDK Manager 中,取消选择 31.0.0 并尝试安装旧版本(例如,我尝试过 30.0.3)并将 build.gradle 中的“buildToolsVersion”更新为已安装的版本
- 转到项目结构→属性并验证“构建工具版本”和“编译的 SDK 版本”选择了 31.0.0
- 手动删除 build-tools 文件夹中的东西;即,
rm -rf /path/to/android/sdk/build-tools/31.0.0
(它不像其他一些帖子所描述的那样以“-rc”结尾) - 重启 Android Studio
- 重新安装 Android Studio
我是一个 Android 菜鸟,只是想建立一个 hello world 项目,它真的不应该这么难。
解决方案
首先,我在 Android Studio 4.2.2 中遇到了这个问题,您不需要将 SDK 构建工具从 31 降级到 30 或更改编译 SDK 版本。
主要问题是 SDK 构建工具 31 中缺少的两个文件是:
- dx.bat
- dx.jar
解决方案是这些文件在文件位置命名为 d8,因此将它们的名称更改为 dx 将解决错误。
步骤如下。
对于 Windows
去那个位置
"C:\Users\user\AppData\Local\Android\Sdk\build-tools\31.0.0"
找到一个名为 d8.bat 的文件。这是一个 Windows 批处理文件。
将 d8.bat 重命名为 dx.bat。
在文件夹 lib 中(“C:\Users\user\AppData\Local\Android\Sdk\build-tools\31.0.0\lib”)
将 d8.jar 重命名为 dx.jar
记住 AppData 是一个隐藏文件夹。打开隐藏项目以查看 AppData 文件夹。
适用于 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
现在运行你的项目。
推荐阅读
- bolero - fsbolero 的跑步者“bolero-live”是开源的吗?如果是,源代码在哪里?
- javascript - 添加单独结果的结果
- reactjs - 如何使用钩子“提升”反应组件中的 setState 函数?
- r - 使用特定的更改许多值
- .net-core - SelectMany 不适用于 cosmosDb 的子属性?
- scala - Spark-Straming 中的 DStream 到 Rdd
- c# - 水晶报表中的无界字段在运行时通过传递参数
- algorithm - 降低歌曲中的一个频率
- c - 在位域结构中,控制器是读取整个值还是特定字节
- regex - 使用正则表达式在 Bash 中的引号内添加参数