Android Studio - V-23文件出错 - 无法编译

时间:2016-04-10 09:50:54

标签: android

我目前正在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'
}

Build Project Screen Shot

Project Structure Screen Shot

对于链接图像的道歉,我是SO的新手,所以无法将它们嵌入到帖子中。

我完全有可能错过一些明显的东西,但过去几个小时我一直试图解决这个问题而且我没有到达任何地方。

非常感谢任何帮助!

Stand Alone SDK Manager Screen Shot

Dependencies

2 个答案:

答案 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(控制运行时行为和使用运行时权限等内容)保留在您当前所拥有的任何级别。