找不到带有哈希字符串“ android-25”的目标


88

我有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 Manager上找不到API级别25的SDK,则可以将API级别24设置为compileSdkVersion,buildToolsVersion和targetSdkVersion或立即更新Android Studio 2.2.2。
kimkevin '16

将Android Studio更新至2.2.3
phnmnn'Dec

我想知道为什么它迫使用户更新它?同时,生产代码本身并不是每个人都使用最新版本
。...– gumuruh

Answers:


120

您无需更新任何内容。只需从Android SDK Manager或通过启动Android独立SDK Manager下载API 25的SDK。该错误是因为缺少平台,而不是因为缺少工具。Android SDK Manager Android Studio 2.2.2


1
我了解可以通过SDK管理器下载API 25,但是SDK管理器未显示API25。我没有看到SDK管理器中列出了API 25,也没有允许我选择新的API。
KurioZ7 '16

2
我在ubuntu中遇到了同样的问题。如何使用命令行安装?

请参考(给出了平台25的
示例

1
在Android Studio 2.3中,“启动独立SDK管理器”链接已删除。而且我无法通过Android SDK Manager安装25。我该怎么办?
Zolbayar

您可以使用命令行进行安装。上面的评论中提供了链接
Anuja Kothekar,2017年

27

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

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

问题来源:只需检查出即可app -> src-build.gradle找到参数

  1. compileSdkVersion 25

  2. buildToolsVersion "25.0.1"

  3. targetSdkVersion 25

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

上面的这些参数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,显示整个单词)。
CoolMind

4

我有类似的问题

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

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

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

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


1

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


1

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


1

对于Android-28,我有同样的错误。在SDK Manager-SDK Platform中,它显示了部分安装了Android API 28,并且没有可用的进一步更新。这样我就可以从SDK Tools和重新启动项目后更新 ANDROID-SDK-BUILD-TOOLS。会的。这可能对其他遇到与我面临同样问题的人有所帮助。


1

似乎只有我这么笨拙,因为我尚未找到我的案子需要的解决方案。

我正在开发一个多模块项目,因此在单个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',
]

...

我不习惯常规的语法,我的眼睛还没有发现compile,min和target sdks的值不是整数而是STRINGS!因此,编译器理所当然地抱怨找不到能够与HAS​​H 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',
]

...

1

确保您的计算机已连接到Internet,然后单击错误消息附带的链接,即“安装缺少的平台并同步项目”。请花几秒钟的时间,尤其是在您的计算机规格较低的情况下,它会弹出一个窗口,称为“ SDK Quickfix安装”,从那里开始一切都很简单。


1

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

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

与android SDK版本相关的此问题可为您的Android Studio启用。请从附件屏幕中找到此问题的解决方案。 在此处输入图片说明


0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.