我目前正在Android Studio中开发应用程序,现在已经有好几周了。 我想要SDK 21,而不是23! SDK 21过去几周一直在工作,没有任何问题
今天早上,我已经回到我的电脑继续我的编程,去运行应用程序并出现了这些错误:
Error:(3) Error retrieving parent for item: No resource found that
matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
Error:(18) Error retrieving parent for item: No resource found that matches the
given name 'android:Widget.Material.Button.Colored'.
在昨晚工作的应用程序和今天早上试图运行应用程序之间 - 没有任何改变。我甚至没有关闭android工作室。我让我的电脑处于睡眠状态。
我搜索了堆栈溢出,并注意到其他人也发生了这些错误。我已经尝试过给别人的答案,比如检查项目结构,依赖项,gradle文件等。我也尝试过标准的清理和构建
这是我的Gradle文件:
android {
compileSdkVersion 21
buildToolsVersion '21.1.2'
defaultConfig {
applicationId "com.example.package"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:21.1.0'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.android.support:support-v4:21.0.3'
}
对于链接图像的道歉,我是SO的新手,所以无法将它们嵌入到帖子中。
我完全有可能错过一些明显的东西,但过去几个小时我一直试图解决这个问题而且我没有到达任何地方。
非常感谢任何帮助!
答案 0 :(得分:1)
尝试更改
compile 'com.android.support:support-v4:21.0.3'
到
compile 'com.android.support:support-v4:21.1.0'
答案 1 :(得分:1)
添加
时compile 'com.google.android.gms:play-services:8.4.0'
此依赖项需要23.0.0
库的support-v4
版本(FWIW,8.3和8.1需要22.2.0
,因此您正在使用支持库的API 23版本进行编译。
请注意,Picking your compileSdkVersion, targetSdkVersion, and minSdkVersion中描述的最佳做法是始终使用最新的SDK 进行编译:
应该强调的是,更改您的compileSdkVersion不会改变运行时行为。虽然更改compileSdkVersion时可能会出现新的编译器警告/错误,但您的compileSdkVersion不包含在您的APK中:它纯粹是在编译时使用。 (你应该真的修复那些警告 - 他们是因为某种原因而添加的!)
因此,强烈建议您始终使用最新的SDK进行编译。您将获得对现有代码进行新编译检查的所有好处,避免新弃用的API,并准备使用新的的API。
因此,最简单的解决方案是将compileSdkVersion
更改为API 23,同时将targetSdkVersion
(控制运行时行为和使用运行时权限等内容)保留在您当前所拥有的任何级别。