未能找到哈希字符串 android-23 的目标
failed to find target with hash string android-23
尝试从 git://github.com/osmdroid/osmdroid 构建 OpenStreetMapView 时,出现此错误:
failed to find target with hash string android-23: D:\Users\myusername\AppData\Local\Android
我该如何解决这个问题?以前类似的问题建议检查 android 23 是否未安装,但在我的情况下,它是。
以下是一些相关信息:
ANDROID_HOME 是 D:\Users\myusername\AppData\Local\Android\sdk
D:\Users\myusername\AppData\Local\Android\sdk\platforms\
包含目录 \android-23\,(以及 android-19、android-21、android-22 , android-跨国公司)
build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "org.osmdroid.example"
minSdkVersion 8
targetSdkVersion 23
versionCode 16
versionName "4.4-SNAPSHOT"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
}
lintOptions {
abortOnError false
}
}
dependencies {
compile 'android.support:compatibility-v4:23+'
compile project(':osmdroid-android')
//compile 'org.osmdroid:osmdroid-third-party:4.4-SNAPSHOT'
}
我尝试将 targetSdkVersion 和 compileSdkVersion 更改为 22。这导致错误消息更改为 "android-22" 而不是 "android-23"。
SDK 管理员:
的答案。
Gradle 有时会变得愚蠢,清除缓存是我找到的唯一解决方案。您会在用户主文件夹下找到一个隐藏的 .gradle 文件夹,在 osmdroid 的结帐位置找到另一个文件夹。
更新:不适用于在此回答后(2016 年 4 月)发布的 Android Studio
Note: I think this might be a bug in Android Studio.
- 转到项目结构
- Select 应用模块
- 在第一个选项卡“属性”下,将编译 SDK 版本从 Google API xx 更改为 API XX(例如 API 23 而不是 Google API 23)
- 按确定
- 等待正在进行的过程完成,就我而言,此时我没有收到错误。
现在将已编译的 SDK 版本还原为 Google API xx.
如果这不起作用,那么:
- 使用Google API(Google API xx 而不是API xx),降低构建工具版本(例如Google API 23 和构建工具版本 23.0.1)
- 按确定并等待正在进行的过程完成
- 将您的构建工具版本恢复到更改前的版本
- 按确定
- 等待进程完成。
- 完成!
打开 Android SDK 管理器并更新为最新版本。
就我而言,清除缓存无效。
在 SDK 管理器中,务必选中 "show package descriptions" 上的复选框;那么您还应该 select "Google APIs" 您愿意安装的版本。
安装它然后你应该没问题
在 Android Studio File -> Invalidate Caches/Restart
中为我解决了这个问题。
遵循这些推荐的方向似乎有效:
提示:通过运行打开SDK管理器:/path/to/android/tools/android
您将需要:
1. "SDK Platform" 对于 android-23
2.“Android SDK 平台工具(最新)
3. "Android SDK Build-tools"(最新)
我通过打开 Android SDK 管理器并为所有 23.x.x 版本安装构建工具来为我解决了这个问题。
见截图。
通过将 compileSdkVersion
更改为 24,将 targetSdkVersion
更改为 24,并将 compile
更改为 com.android.support:appcompat-v7:24.1.0
,它对我有用
对我没有任何作用。我将 SDK 路径更改为新的 SDK 位置并重新安装 SDK.Its 工作正常。
工具 > Android > SDK 管理器。
我在使用 windows 时遇到了这个问题。事实证明,我的配置文件中的 SDK 位置是问题所在。所以我不得不将我的 SDK 文件夹重新定位到文档然后它工作了。
这个问题有 2 个解决方案:
1) 通过工具 -> Android -> SDK 管理器 -> SDK 工具(确保你有 'Show Package Details')检查下载相关的 Android SDK。你的情况是 Android 6.0(棉花糖/API 21 级)
2) 或者,打开您的 build.gradle
文件并更新以下属性:
compileSdkVersion
buildToolsVersion
targetSdkVersion
您安装的 Android API 的最新版本/您要使用的另一个已安装版本(尽管我总是建议使用最新版本通常的原因:错误修复等)
如果您正在执行第 2 步,那么如果您的应用正在使用 Android 支持库版本,请务必记得更新它。这可以在构建文件的 dependencies
部分找到,看起来像这样:
compile 'com.android.support:appcompat-v7:27.0.2'
(将 27.0.2
替换为您打算在您的应用中使用的 API 级别的最新支持库版本)
我的抱怨 26。我查看了我的文件夹并找到了 27 的文件夹,但没有找到 26。所以我修改了我的 build.gradle 文件,将 26 替换为 27。compileSdkVersion、targetSdkVersion 和实现 (将这些数字更改为 v:7:27.02)。那改变了我的错误信息。然后我将 buildToolsVersion "27.0.3" 添加到 compileSdkVersion.
下的 android 括号部分
现在生成项目按钮可以处理 0 条消息。
接下来,如何在我的配置中实际 select 一个模块,以便我可以 运行 这个。
另一个号码也有同样的问题,这对我有用:
单击顶部的错误消息 "Gradle project sync failed",其中文本为“打开消息视图”
在左下角的"Message Gradle Sync"window中,点击提供的解决方案"Install missing ... "
必要时重复 1 和 2
23:08 Gradle 同步失败:无法在以下位置找到哈希字符串 'android-26' 的目标:C:\Users\vik\AppData\Local\Android\Sdk
AndroidSDK左下角提供解决方案
在 Run as administrator
Andorid Studio
之后,这个问题为我解决了
对我来说,问题在于我写了 compileSdkVersion '23' 而不是 23。引号是问题所在。
问题是因为您运行的代码是在较旧的API级别创建的,而您当前的SDK管理器不支持运行它们。
所以请尝试以下操作;
1.Install 支持 API 级别 23 的 SDK 管理器。
转到 >SDK 管理器 >Android SDK ,然后 select API 23 并安装。
2.second 替代方法是更新您的 build.grade 应用模块以更改
compileSdkVersion,compile,等数字到你当前支持的API级别。
注意:请确保检查 API 和修订号并准确更改它们。否则您的项目将不会同步
从构建控制台中指定的 link 下载特定的 Android 版本。
确保 IDE 识别出您拥有包裹。即使在下载 28 后它也没有在我的上,所以我卸载然后重新安装它后意识到它没有出现在文件-项目结构-模块-应用程序下作为 SDK 的选择。
最重要的是,您可能想要更改构建路径以匹配。
有点相关,当我将 CompileSDK 强制更新到 28 时,最新的更新似乎能够编译,而不仅仅是达到 Google Play 的新 API 26 分钟要求.不过,这与依赖项有关,可能不会影响您的
尝试从 git://github.com/osmdroid/osmdroid 构建 OpenStreetMapView 时,出现此错误:
failed to find target with hash string android-23: D:\Users\myusername\AppData\Local\Android
我该如何解决这个问题?以前类似的问题建议检查 android 23 是否未安装,但在我的情况下,它是。
以下是一些相关信息:
ANDROID_HOME 是 D:\Users\myusername\AppData\Local\Android\sdk
D:\Users\myusername\AppData\Local\Android\sdk\platforms\
包含目录 \android-23\,(以及 android-19、android-21、android-22 , android-跨国公司)
build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "org.osmdroid.example"
minSdkVersion 8
targetSdkVersion 23
versionCode 16
versionName "4.4-SNAPSHOT"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
}
lintOptions {
abortOnError false
}
}
dependencies {
compile 'android.support:compatibility-v4:23+'
compile project(':osmdroid-android')
//compile 'org.osmdroid:osmdroid-third-party:4.4-SNAPSHOT'
}
我尝试将 targetSdkVersion 和 compileSdkVersion 更改为 22。这导致错误消息更改为 "android-22" 而不是 "android-23"。
SDK 管理员:
Gradle 有时会变得愚蠢,清除缓存是我找到的唯一解决方案。您会在用户主文件夹下找到一个隐藏的 .gradle 文件夹,在 osmdroid 的结帐位置找到另一个文件夹。
更新:不适用于在此回答后(2016 年 4 月)发布的 Android Studio
Note: I think this might be a bug in Android Studio.
- 转到项目结构
- Select 应用模块
- 在第一个选项卡“属性”下,将编译 SDK 版本从 Google API xx 更改为 API XX(例如 API 23 而不是 Google API 23)
- 按确定
- 等待正在进行的过程完成,就我而言,此时我没有收到错误。
现在将已编译的 SDK 版本还原为 Google API xx.
如果这不起作用,那么:
- 使用Google API(Google API xx 而不是API xx),降低构建工具版本(例如Google API 23 和构建工具版本 23.0.1)
- 按确定并等待正在进行的过程完成
- 将您的构建工具版本恢复到更改前的版本
- 按确定
- 等待进程完成。
- 完成!
打开 Android SDK 管理器并更新为最新版本。
就我而言,清除缓存无效。
在 SDK 管理器中,务必选中 "show package descriptions" 上的复选框;那么您还应该 select "Google APIs" 您愿意安装的版本。
安装它然后你应该没问题
在 Android Studio File -> Invalidate Caches/Restart
中为我解决了这个问题。
遵循这些推荐的方向似乎有效:
提示:通过运行打开SDK管理器:/path/to/android/tools/android
您将需要: 1. "SDK Platform" 对于 android-23 2.“Android SDK 平台工具(最新) 3. "Android SDK Build-tools"(最新)
我通过打开 Android SDK 管理器并为所有 23.x.x 版本安装构建工具来为我解决了这个问题。
见截图。
通过将 compileSdkVersion
更改为 24,将 targetSdkVersion
更改为 24,并将 compile
更改为 com.android.support:appcompat-v7:24.1.0
对我没有任何作用。我将 SDK 路径更改为新的 SDK 位置并重新安装 SDK.Its 工作正常。
工具 > Android > SDK 管理器。
我在使用 windows 时遇到了这个问题。事实证明,我的配置文件中的 SDK 位置是问题所在。所以我不得不将我的 SDK 文件夹重新定位到文档然后它工作了。
这个问题有 2 个解决方案:
1) 通过工具 -> Android -> SDK 管理器 -> SDK 工具(确保你有 'Show Package Details')检查下载相关的 Android SDK。你的情况是 Android 6.0(棉花糖/API 21 级)
2) 或者,打开您的 build.gradle
文件并更新以下属性:
compileSdkVersion
buildToolsVersion
targetSdkVersion
您安装的 Android API 的最新版本/您要使用的另一个已安装版本(尽管我总是建议使用最新版本通常的原因:错误修复等)
如果您正在执行第 2 步,那么如果您的应用正在使用 Android 支持库版本,请务必记得更新它。这可以在构建文件的 dependencies
部分找到,看起来像这样:
compile 'com.android.support:appcompat-v7:27.0.2'
(将 27.0.2
替换为您打算在您的应用中使用的 API 级别的最新支持库版本)
我的抱怨 26。我查看了我的文件夹并找到了 27 的文件夹,但没有找到 26。所以我修改了我的 build.gradle 文件,将 26 替换为 27。compileSdkVersion、targetSdkVersion 和实现 (将这些数字更改为 v:7:27.02)。那改变了我的错误信息。然后我将 buildToolsVersion "27.0.3" 添加到 compileSdkVersion.
下的 android 括号部分现在生成项目按钮可以处理 0 条消息。
接下来,如何在我的配置中实际 select 一个模块,以便我可以 运行 这个。
另一个号码也有同样的问题,这对我有用:
单击顶部的错误消息 "Gradle project sync failed",其中文本为“打开消息视图”
在左下角的"Message Gradle Sync"window中,点击提供的解决方案"Install missing ... "
必要时重复 1 和 2
23:08 Gradle 同步失败:无法在以下位置找到哈希字符串 'android-26' 的目标:C:\Users\vik\AppData\Local\Android\Sdk
AndroidSDK左下角提供解决方案
在 Run as administrator
Andorid Studio
对我来说,问题在于我写了 compileSdkVersion '23' 而不是 23。引号是问题所在。
问题是因为您运行的代码是在较旧的API级别创建的,而您当前的SDK管理器不支持运行它们。 所以请尝试以下操作; 1.Install 支持 API 级别 23 的 SDK 管理器。 转到 >SDK 管理器 >Android SDK ,然后 select API 23 并安装。 2.second 替代方法是更新您的 build.grade 应用模块以更改 compileSdkVersion,compile,等数字到你当前支持的API级别。
注意:请确保检查 API 和修订号并准确更改它们。否则您的项目将不会同步
从构建控制台中指定的 link 下载特定的 Android 版本。
确保 IDE 识别出您拥有包裹。即使在下载 28 后它也没有在我的上,所以我卸载然后重新安装它后意识到它没有出现在文件-项目结构-模块-应用程序下作为 SDK 的选择。
最重要的是,您可能想要更改构建路径以匹配。
有点相关,当我将 CompileSDK 强制更新到 28 时,最新的更新似乎能够编译,而不仅仅是达到 Google Play 的新 API 26 分钟要求.不过,这与依赖项有关,可能不会影响您的