【问题标题】:Failed to find target with hash string 'android-25'找不到带有哈希字符串“android-25”的目标
【发布时间】:2017-03-20 08:16:20
【问题描述】:

我有 Android Studio 2.2。我正在尝试打开一个项目,但我收到错误“无法找到带有哈希字符串'android-25'的目标”。在错误消息下方,我看到一个链接“安装缺少的平台并同步项目”。如果我点击这个链接,我会得到另一个错误,上面写着

"以下包不可用: - 包ID 平台;android-25"。

在 Android SDK 工具中,我可以看到“Android 7.0”(API 级别 24)已经安装。在查看有关 Android 版本及其 API 级别的详细信息时,我发现 Android Nougat 的 API 级别为 24-25。我想知道如何将 SDK 从 API24 更新到 25?

【问题讨论】:

  • 如果在 SDK 管理器上找不到 API 级别 25 的 SDK,您可以将 API 级别 24 设置为 compileSdkVersion、buildToolsVersion 和 targetSdkVersion 或立即更新 Android Studio 2.2.2。
  • 将 Android Studio 更新到 2.2.3
  • 我想知道为什么它强制用户更新它?同时生产代码本身并不是每个人都使用最新版本....

标签: android


【解决方案1】:

您无需更新任何内容。只需从 Android SDK 管理器或启动 Android 独立 SDK 管理器下载 API 25 的 SDK。错误是缺少平台而不是缺少工具。

【讨论】:

  • 我知道我可以通过 SDK 管理器下载 API 25,但 SDK 管理器没有显示 API 25。我没有看到 SDK 管理器中列出 API 25,它也不允许我选择新的 API。
  • 我在 ubuntu 中遇到了同样的问题。如何使用命令行安装?
  • 请参考(平台 25 前已给出):link
  • 在 Android Studio 2.3 中“启动独立 SDK 管理器”链接已删除。而且我无法通过 Android SDK Manager 安装 25。我该怎么办?
  • 这对大多数人来说可能很明显,但Failed to find target with hash string 'android-25' 中的“25”指的是 API 级别,而不是“Android 2.x (Blah)”包版本姓名。这让我难倒了一段时间。
【解决方案2】:

好吧,我遇到了这个问题,但最终我找到了解决方案。

问题从这里开始: [“安装缺少的平台和同步项目”(链接)不起作用 & gradle 同步失败]

问题来源:查看app -> src-build.gradle就可以找到参数了

  1. compileSdkVersion 25

  2. buildToolsVersion "25.0.1"

  3. targetSdkVersion 25

注意:您可能会发现这些参数具有不同的值,例如 compileSdkVersion 23

build.gradle 中的这些参数会产生错误,因为它们的值与您当前的 SDK 版本不兼容。

这个错误的解决方法很简单,在你的Android Studio中打开一个新项目,在那个新项目中goto app -> src-build.gradle

在新项目的build.gradle文件中找到这些参数:

就我而言,这些是:

compileSdkVersion "26"    
buildToolsVersion "26.0.1"
targetSdkVersion 26

现在从您的新项目build.gradle 文件中复制这些参数并将它们发布到另一个项目的同一文件中(有错误)。

【讨论】:

  • 如果问题仍然存在,请尝试查找是否还有其他build.gradle文件存在。您也可以在搜索中找到25(Ctrl + Shift + F,显示整个单词)。
【解决方案3】:

我遇到了类似的问题

1:我尝试使用上面标记为正确的答案来解决,但我无法获得令人惊叹的系统设置(在 MacBook 上)。

大多数情况下,此类错误和问题的出现是因为将您的成绩文件替换为其他成绩文件,导致成绩单无法正确同步,并且在构建项目时出现问题。这个问题基本上与平台工具的不同步有关

解决方案 a:转到文件,然后转到您的项目结构 -modules -app-Properties -构建工具版本 -单击您的项目所需的选项(如果需要构建工具版本,则没有选择任何其他版本)。这将同步成绩文件,现在您可以转到gradel并根据您的要求更改目标版本和构建工具版本。您将提示下载所需的平台工具以同步它,现在单击安装工具版本并让项目构建

解决方案b:如果您可以获得系统设置选项并安装平台工具,请尝试Anuja Ans。

【讨论】:

    【解决方案4】:

    确保您的计算机已连接到互联网,然后单击错误消息随附的链接,即“安装缺少的平台并同步项目”。给它几秒钟,特别是如果您的计算机规格较低,它会弹出一个名为 SDK Quickfix Installation 的窗口,从那里一切都很简单。

    【讨论】:

      【解决方案5】:

      我在为我的 android 项目运行 gradle build 时遇到了同样的异常。

      原因:java.lang.IllegalStateException:找不到带有哈希字符串“android-27”的目标

      此问题与您的 Android Studio 的 android SDK 版本启用有关。 请从附加屏幕中找到此问题的解决方案。

      【讨论】:

      • 解释得很清楚。这帮助我解决了我的问题。
      【解决方案6】:

      您可以通过转到安装目录单独打开 SDK,只需右键单击 SDK Manager.exe 并单击以管理员身份运行。我希望它会有所帮助。

      【讨论】:

        【解决方案7】:

        默认的 gradle 版本 3.3 可能有一些错误,我切换到 gradle 3.5 一切正常

        【讨论】:

          【解决方案8】:

          我在 Android-28 上遇到了同样的错误。在 SDK 管理器 - SDK 平台中,它显示 Android API 28 已部分安装,没有可用的进一步更新。所以我从 SDK 工具 并在重新启动项目后更新了 ANDROID-SDK-BUILD-TOOLS。它会起作用的。这可能对其他面临与我相同问题的人有所帮助。

          【讨论】:

            【解决方案9】:

            似乎只有我这么笨拙,因为我还没有找到我的案例需要的解决方案。

            我正在开发一个多模块项目,因此在单个 gradle 脚本中提取了基本的 android 模块配置。 sdks/libs 的所有具体版本也都提取在一个脚本中。

            包含版本的脚本如下所示:

            ...
            
            ext.androidVersions = [
                compile_sdk_version     : '27',
                min_sdk_version         : '19',
                target_sdk_version      : '27',
                build_tool_version      : '27.0.3',
                application_id          : 'com.test.test',
            ]
            
            ...
            

            不习惯 groovy 语法,我的眼睛没有发现 compile、min 和 target sdks 的值不是整数而是字符串!因此,编译器正确地抱怨无法找到与 HASH STRING '27' 匹配的版本的 sdk。

            所以解决方案是使 sdk 的版本为整数: ...

            ext.androidVersions = [
                compile_sdk_version     : 27,
                min_sdk_version         : 19,
                target_sdk_version      : 27,
                build_tool_version      : '27.0.3',
                application_id          : 'com.test.test',
            ]
            
            ...
            

            【讨论】:

              【解决方案10】:

              我对 android-29 也有类似的问题。出现我的问题是因为当 AS 解压缩一个下载的 SDK 时,我已经停止了它。为了解决这个问题,请禁用 gradle 离线模式,然后与 gradle 文件同步。您可能需要设置代理并启用它。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2018-11-23
                • 1970-01-01
                • 2016-06-26
                • 2023-03-19
                • 1970-01-01
                • 2018-04-07
                • 2017-05-02
                相关资源
                最近更新 更多