Abr*_*hew 11 android android-build android-studio android-sdk-build-tools
安装的构建工具修订版 31.0.0 已损坏。使用 SDK 管理器删除并重新安装。
工作室版本4.2.1
尝试重新安装和删除以前的版本尝试从 build-tools-30.0.3 添加 dx.jar 和 dx.bat (这不是一个好的解决方案,即使添加后显示 dx.jar 文件不存在)
Aza*_*mov 31
主要问题是 SDK 构建工具 31 中缺少两个文件:
dx.bat dx.jar 解决方案是这些文件在文件位置中被命名为 d8,因此将其名称更改为 dx 将解决该错误。
步骤如下。
对于 Windows,请转至该位置
"C:\Users\user\AppData\Local\Android\Sdk\build-tools\31.0.0"
find a file named d8.bat. This is a Windows batch file.
rename d8.bat to dx.bat.
in the folder lib ("C:\Users\user\AppData\Local\Android\Sdk\build-tools\31.0.0\lib")
rename d8.jar to dx.jar
Run Code Online (Sandbox Code Playgroud)
请记住 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
Run Code Online (Sandbox Code Playgroud)
现在您可以运行该项目了
小智 14
正如其他问题中所指出的,问题是 dx(或 dx.bat)不再可用。这是 2018 年宣布的一项有目的的改变。
建议将 d8 重命名为 dx 或从构建工具 30.0.0 复制它的解决方案将解决该问题,但 dx 不太可能返回。因此,您将不得不在每个开发人员的机器上修补每个构建工具安装。
更向前兼容的解决方案是升级您的 Android gradle 插件。这不像仅仅更改 gradle 中的数字那么简单,但我发现 Android Studio 的升级过程非常适合我的项目。如果你打开你的项目级别build.gradle文件,请从您的灯泡上方的灯泡中打开快速修复菜单
dependencies{
classpath 'com.android.tools.build:gradle:...'
Run Code Online (Sandbox Code Playgroud)
部分。从这里,选择升级到最新的可能版本(在我的例子中不仅仅是 4.x)。
不过,我的问题是 Unity 特有的:我需要使用系统 Android SDK,而不是内置的 SDK,但 Unity 本身喜欢重新生成这些构建文件,并且只会获取它能找到的最新构建工具。为了减少手动步骤并避免导出我的项目,我选择生成模块级build.gradle从“播放器设置>发布设置”窗口生成模块级文件:

这两个文件都会有一行如下所示:
buildToolsVersion '**BUILDTOOLS**'
Run Code Online (Sandbox Code Playgroud)
您可以将其替换为:
buildToolsVersion '30.0.0'
Run Code Online (Sandbox Code Playgroud)
通过 Unity,我可以像以前一样构建和部署项目,而无需修改buildtools安装。
小智 0
检查buildToolsVersion输入build.gradle文件。SDK Manager -> SDK Tools它应该与您从哪里找到的安装的相同Android SDK Build-Tools 31。
dx文件将在 sdk 的位置可用Android SDK dir\build-tools,您将找到31.0.0-rc3 (Open this folder and check manually if dx file is there or not). 如果一切正常,则重新启动并重建项目。
如果dx文件不存在,则从 Android Studio 卸载构建工具,然后从 Android Studio 重新安装。
| 归档时间: |
|
| 查看次数: |
25805 次 |
| 最近记录: |