我用的是Android Studio 4.2.2。我创建了一个新项目,还没有添加任何东西到启动器代码,每当我点击构建或运行,我得到这个错误:

已安装的构建工具版本31.0.0已损坏。使用SDK管理器删除并重新安装。

我看了其他帖子的建议,但这些解决方案都不起作用。以下是我的尝试:

SDK Manager → SDK Tools → check "Show package details", uncheck 31.0.0, and click "Apply" → Uninstall 31.0.0 → check 31.0.0 and reinstall it In SDK Manager, deselect 31.0.0 and try installing an older version (e.g., I've tried 30.0.3) and update "buildToolsVersion" in build.gradle to the installed version Went to Project Structure → Properties and verified that 31.0.0 is selected for "Build Tools Version" and "Compiled SDK Version" Manually remove the stuff in the build-tools folder; i.e., rm -rf /path/to/android/sdk/build-tools/31.0.0 (it doesn't end in "-rc" like some other posts have described) Restart Android Studio Reinstall Android Studio

我是一个Android新手,只是想设置一个Hello, World!项目,真的不应该这么难。


当前回答

这里有太多错误和误导性的答案。

如果你使用的是Beta SDK,你唯一需要做的就是安装最新的Android Studio Beta版本。最新的Android Studio Beta支持最新的AGP,正确地支持SDK 31。

其他回答

首先,伙计们,如果你们面临着这类问题,你们可以尝试把31移到30的解决方案。 在这之后,需要做一些重要的步骤: 步骤:

打开项目结构>按Ctrl+Alt+Shift+S 打开模块>属性>编译Sdk版本:30 构建工具版本:30.0.2 单击Default Config > Target SDK Version: 30


之后,你的任务就没有了,在某些情况下仍然,你可以看到这个配置不被接受,你还需要做这些步骤:

转到右上方区域,点击SDK管理器图标。 选择Android SDK > image 1,你需要勾选你需要的所有Android版本* 勾选后单击“确定”,然后安装。 Android SDK > SDK Tool > right down side > show Package detail > 勾选30.0.2选项,然后安装。 Image 2 > select 30.0.2

5)现在完成点击确定安装>应用你的好去。

对于那些正在使用Azure DevOps并需要30.0.3版本的人来说,你需要卸载31.0.0版本

我将此添加到我的管道中,以使我的构建再次工作。

  - bash: |
      $ANDROID_SDK_ROOT/tools/bin/sdkmanager --uninstall 'build-tools;31.0.0'

环境变量$ANDROID_SDK_ROOT在预设变量中

进入Android Studio设置→Android SDK→SDK工具→。在列表中选中“谷歌Play licensing”和“Apply”。

它会下载一个文件,然后同步你的项目,这就完成了。

更改这些设置后,它似乎可以正常工作。我从SDK管理器下载了SDK 30版本。

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"
    defaultConfig {
        applicationId "com.anurag.myapplication"
        minSdkVersion 23
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

我还没有足够的声誉评论,但有一个解决方案与符号链接的Windows,我想补充说,它也适用于macOS。

这是Mac终端的命令:

ln %ANDROID_HOME%/sdk/build-tools/31.0.0/d8 %ANDROID_HOME%/sdk/build-tools/31.0.0/dx && ln %ANDROID_HOME%/sdk/build-tools/31.0.0/lib/d8.jar %ANDROID_HOME%/sdk/build-tools/31.0.0/lib/dx.jar