Android Studio "Invalid hash string" 编译 SDK 版本警告

Android Studio "Invalid hash string" warning in Compile Sdk Version

我是 Android 应用程序开发的新手,正在尝试对现有项目应用一些更改。当我尝试在 Android Studio 的项目结构中更改编译 Sdk 版本时,它会在所选 Sdk "Vuzix Corporation:Vuzix M300 SDK:23" 的右侧显示红色警告(无效的哈希字符串)并且不应用更改.然后我意识到 "Google Inc.:Google APIs:23".

也会发生同样的情况

这是为 Vuzix M300 增强现实眼镜构建的应用程序,我按照他们网站上的文档更新了现有项目并在 Android Studio 中安装了 M300 SDK。首先,我按照他们的建议使用标准 Sdk 和 Compile Sdk Version API 23: Android 6.0 (Marshmallow) 构建了应用程序。后来他们要我们在项目结构中将 Compile Sdk Version 更改为 Vuzix M300 SDK (API 23),但没有用。

apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '28.0.3'

defaultConfig {
    applicationId "de.tum.fml.pbvofflineapp"
    minSdkVersion 15
    targetSdkVersion 15
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
}

我希望 compileSdkVersion 应该改变,但我不知道对于那个特定的 Sdk 应该是什么。

如果您更改 compileSdkVersion 也将 targetSdkVersion 更改为相同。以以前的 sdk 为目标并使用更大的 sdk 进行编译是没有意义的。你也应该有 buildToolsVersion 根据 compile sdk

您的 compileSdkVersiontargetSdkVersionbuildToolsVersion 应该处于同一版本级别。

另外,在 SDK 管理器中,确保安装了 SDK 版本。

之后 运行 "invalidate caches/restart" 如果问题仍然存在

编辑

如果您使用的是 gradle 插件版本 3.4.1

This version of the Android plugin requires the following:

SDK Build Tools 28.0.3 or higher.

source

这意味着你不能使用compileSdkVersion 23

如果你没有选择你想要的编译SDK版本"Vuzix Corporation:Vuzix M300 SDK:23"。 这将导致无法找到自定义附加组件 sdk class 构建错误。