我是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(棉花糖)构建了该应用程序。后来他们希望我们在“项目结构”中将“编译Sdk版本”更改为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应该是什么。
答案 0 :(得分:2)
您的compileSdkVersion
,targetSdkVersion
和buildToolsVersion
应该处于相同的版本级别。
还要在SDK Manager中,确保已安装SDK版本。
如果问题仍然存在,请运行“使缓存无效/重新启动”
修改
如果您使用的是Gradle插件版本3.4.1
此版本的Android插件要求以下条件:
SDK构建工具28.0.3或更高版本。
这意味着您不能使用 compileSdkVersion 23
答案 1 :(得分:0)
如果更改compileSdkVersion,则还将targetSdkVersion设置为相同。以先前的sdk为目标并使用更大的sdk编译是没有意义的。此外,您还应该具有根据compile sdk
的buildToolsVersion答案 2 :(得分:-1)
如果未选择所需的Compile Sdk版本,则为“ Vuzix Corporation:Vuzix M300 SDK:23”。 这将导致找不到自定义的附加sdk类构建错误。