尽管loeschg的答案是绝对正确的,但我只是想详细说明一下,并为所有IDE(Eclipse,IntellJ和Android Studio)提供一个解决方案,即使这些错误有所不同。
前提条件
确保您已下载最新版本extras
以及Android 5.0 SDK
通过SDK-Manager下载的。
Android Studio
打开build.gradle
您的应用程序模块的文件,然后将其更改compileSdkVersion
为21。基本上没有必要将targetSdkVersion
SDK-Version 更改为21,但是建议您这样做,因为您始终应以最新的android Build-Version为目标。
最后,您的gradle文件将如下所示:
android {
compileSdkVersion 21
// ...
defaultConfig {
// ...
targetSdkVersion 21
}
}
之后一定要同步您的项目。
日食
当使用v7-appcompat
在Eclipse中,你必须把它作为一个库项目。仅将* .jar复制到您的/libs
文件夹是不够的。请阅读这(点击)一步一步的教程developer.android.com才能知道如何正确导入项目。
导入项目后,您将意识到该文件夹中的某些文件/res
夹由于以下错误而用红色下划线表示:
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'.
解
您唯一要做的就是打开的project.properties
文件,android-support-v7-appcompat
并将目标从更改target=android-19
为target=android-21
。
之后,只需执行一项操作,以Project --> Clean...
使更改生效。
IntelliJ IDEA(不使用Gradle)
与Eclipse类似,仅使用android-support-v7-appcompat.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)就可以了。