虽然loeschg的答案是绝对正确的,但我只是想详细说明它,并为所有IDE (Eclipse, IntellJ和Android Studio)提供一个解决方案,即使错误略有区别。
Prerequirements
确保您已经通过SDK- manager下载了最新的额外功能以及Android 5.0 SDK。
Android工作室
打开构建。你的app-module的build.gradle.kts文件,并将compileSdkVersion更改为21。基本上没有必要将targetSdkVersion SDK-Version更改为21,但建议这样做,因为您应该始终以最新的android Build-Version为目标。
最后你的gradle-file会是这样的:
android {
compileSdkVersion(21)
// ...
defaultConfig {
// ...
targetSdkVersion(21)
}
}
之后一定要同步你的项目。
Eclipse
在Eclipse中使用v7-appcompat时,必须将其作为库项目使用。仅仅将*.jar复制到/libs文件夹是不够的。为了了解如何正确地导入项目,请阅读developer.android.com上的(点击)分步教程。
一旦项目被导入,你会发现/resfolder中的一些文件夹被红下划线标注,原因如下:
error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material'.
error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.*'
error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
解决方案
你唯一要做的就是打开这个项目。“android-support-v7-appcompat”属性文件,将target从“target=android-19”修改为“target=android-21”。
然后做一个项目——>清洁…这样更改才会生效。
IntelliJ IDEA(不使用Gradle)
与Eclipse类似,仅使用android-support-v7- appcompatat .jar是不够的;您必须将appcompat作为模块导入。在这个StackO-Post上阅读更多信息(点击)。
(注意:如果你只使用。jar,你会在运行时得到NoClassDefFoundErrors)
当你试图构建项目时,你会在res/values-v**文件夹中遇到问题。您的消息窗口将显示如下内容:
Error:android-apt-compiler: [appcompat] resource found that matches the given name: attr 'android:colorPrimary'.
Error:(75, -1) android-apt-compiler: [appcompat] C:\[Your Path]\sdk\extras\android\support\v7\appcompat\res\values-v21\styles_base.xml:75: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton'.
// and so on
解决方案
右键单击appcompat模块—>打开模块设置(F4)—>[依赖选项卡]从下拉菜单中选择Android API 21平台—>应用
然后重建项目(Build—> rebuild project),你就可以开始了。