无法找到哈希字符串为'android-22'的目标。

71

enter image description here

我已经更新了最新版本的Android Studio,然后通过谷歌搜索,我也更新了API 18的Android SDK,但仍然出现相同的错误。


1
将Grandle.build文件从18更改为17可以工作。 - Sree
好的,抱歉,请将它改为21。 - Sree
它运行得非常完美,但我是否也需要更改targetSdkVersion?依赖项基于22 SDk,现在会出错... - Hardik Pithva
现在尝试使用22,希望它能够正常工作。 - Sree
如果不起作用,请将compileSdkVersion 21更改为只让targetSdkVersion 22像这样。 - Sree
显示剩余2条评论
10个回答

48

只需点击错误提示中的链接:

打开Android SDK管理器

它将显示对话框,帮助您安装项目所需的SDK。


16
仅仅安装一个旧的SDK版本并不是真正的解决方案!真正的解决方案是查看所有的Gradle配置文件,并将*版本设置升级到你最新安装的版本,例如:compileSdkVersion 23 - electronix384128
我已经使用SDK管理器安装了版本22,但仍然没有运气(例如,单击链接没有任何作用)。所以我关闭了Android Studio,然后重新打开它,这样就可以了。 - Reece
@BenMarten 升级到最新的SDK有时可能没有帮助。我导入的一个项目使用了一些在SDK v19中存在但在>21中已被弃用的Apache Http类。因此,让项目安装所需的SDK,然后如果需要,再进行升级。 - MBH
谢谢@BenMarten,我已经得到了它们,但是由于我想尽快让项目运行起来,所以我使用了我发布的解决方案,然后在谷歌上搜索了Apache http类的替代方案。 - MBH
在我的 Mac 上,我从链接安装了 SDK,然后在完全重启 Android Studio 后运行 Gradle。 - Adam Delarosa

15

打开 Android SDK 管理器 并更新以下内容:

  1. Android SDK 工具
  2. Android SDK 构建工具

然后进行 同步、重新构建并重启项目build.gradle 的示例代码:

   compileSdkVersion 21 // Now 23
   buildToolsVersion '21.1.2' //Now 23.0.1

   defaultConfig
    {
    minSdkVersion 15
    targetSdkVersion 19  
     }

希望这有所帮助。


那么您建议将其更改为23,在此示例中,假设这是最新的版本? - rogerdpack

5

好的,你必须尝试这个方法,它对我有效:

  1. 打开SDK管理器并安装SDK构建工具22.0.1
  2. 同步Gradle,完成了

不,仅安装旧的SDK版本并不是真正的解决方案,正如其他地方所评论的那样。 - Reg Edit

4

我将 build.gradle compileSdkVersion 从22修改为了23,targetSdkVersion 从22修改为了23。

我的API级别是23,我还需要更新API版本到23。

我需要从Eclipse导入项目到Android Studio。这对我来说起作用了。


2

我曾经遇到类似的问题。我更新了Android Studio的构建工具,但我的项目无法找到“android-22”。我在Android SDK管理器中查看,发现它已经安装了。

为了解决这个问题,我卸载了“android-22”,然后重新安装。


0
我认为如果您还没有安装Android SDK中的API 18,那么您应该安装它,否则您可以尝试“使缓存无效并重新启动”(查找:文件-> 使缓存无效并重新启动)。

0

我创建了一个新的Cordova项目,使用最新的Android目标版本23。当我运行它时,它可以正常工作。但是,如果我将期望的Android目标版本从23更改为22,并在Andoid Studio中刷新Gradle构建,则运行时会失败。我收到以下构建错误:

project-android / CordovaLib / src / org / apache / cordova / CordovaInterfaceImpl.java 错误:(217,22)错误:找不到符号方法requestPermissions(String [],int)

我已经在这些文件中更改了目标级别。

project.properties
AndroidManifest.xml

并且在 CordovaLib 文件夹内。

project.properties

然而,我还有另一个项目使用的是Android目标级别22,每当我运行该项目时,它都会运行。现在我的问题是,在创建项目的时候,我们是否可以指定期望的Android级别?


-1

更改

compileSdkVersion 18 minSdkVersion 10 targetSdkVersion 18

在您的应用程序目录/模块中的build.gradle中进行修改

或下载最新的API版本


它会产生很多兼容性错误。无论如何,谢谢。 - Hardik Pithva
请在更改后构建 build.gradle 文件。永远欢迎。 - Tyler Durden

-1
在SDK管理器中下载Android 5.1.1,这对我很有效。

-1
打开 project.properties 文件并将包含 target=android-22 的那一行修改为所需的值。
例如:

target=android-19


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接