在Android Studio
中下载L预览版本后,当我的项目有minSdkVersion
19时,出现上述错误。
此外,将mindSdkVersion
设置如下:
defaultConfig {
....
minSdkVersion 'L'
....
}
关于来自AppCompat-v7-21
的资源:
/home/user/workspace/project/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0-rc1/res/values-v21/values.xml
Error:Error retrieving parent for item: No resource found that matches the given name '@android:TextAppearance.Material.SearchResult.Subtitle'.
所以我有两个问题:
答案 0 :(得分:55)
compileSdkVersion 'android-L'
BOOM。完成。
最后编辑:从Android 5.0发布版开始,这不再是一个问题,只是直接针对API级别21。
为了清晰起见而编辑:确实如下面指定的David_E,此解决方案仅适用于L版本,如果您尝试在低于L的设备上部署应用程序(ex< = 4.4.4)它会抱怨OLD_SDK。为了使应用程序在L之前工作,您仍然需要使用旧的v20支持lib + app compat + targetVersionSdk和compileVersionSdk
dependencies {
compile 'com.android.support:appcompat-v7:20.+'
compile 'com.android.support:support-v4:20.+'
}
android {
compileSdkVersion 20
buildToolsVersion '20'
defaultConfig {
applicationId "com.example.application"
minSdkVersion 10
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
}
答案 1 :(得分:31)
答案here可能无法正常运行,因为它会使您的应用仅适用于Android L.
为了保持与旧版Android OS版本的向后兼容性,请更改gradle依赖性
自:
compile 'com.android.support:appcompat-v7:+'
要:
compile 'com.android.support:appcompat-v7:20.+'
请注意,该错误会引发com.android.support:appcompat-v7:21.0.0-rc1
,原因是使用appcompat-v7:+
会告诉gradle导入appcompat-v7
库的最新依赖项,遗憾的是这个最新版本只是为Android L工作,所以我们必须指向以前的版本。
希望Google能在不久的将来解决这个问题。
答案 2 :(得分:4)
对我有用的方法是安装Android Studio Beta(非预览版,Beta今天作为IO的一部分推出)。
卸载预览版并安装Beta并打开您的项目。它会要求您使用项目SDK或Studio SDK,使用Android Studio的SDK。
转到你的项目local.properties文件,你有sdk.dir的地方,确保任何反斜杠()加倍.e.g。 \。
转到项目结构> SDK并确保这指向我的Pc上的Android SDK它是C:\ Program Files(x86)\ Android \ android-studio \ SDK。
然后在你的项目和任何库中,你有build.gradle文件
compile 'com.android.support:support-v4
将其更改为
compile 'com.android.support:support-v4:20+
重新同步gradle文件和所有已修复的
答案 3 :(得分:4)
强制使用工作版本 只需改变这样的gradle依赖:
dependencies {
compile 'com.android.support:gridlayout-v7:19.0.1'
compile 'com.android.support:appcompat-v7:19+'
...
}
是:
compile 'com.android.support:appcompat-v7:+'
N.B。
我更新了工具& SDK管理器中的附加功能。
项目破坏后我按照上面的说明修复了它。
现在我不更新android L& 4.4W(今天有足够的bug :-()
答案 4 :(得分:2)
感谢大卫的回答!
我不得不改变
compile 'com.android.support:support-v13:+'
要:
compile 'com.android.support:support-v13:20.+'
现在一切都很完美。
答案 5 :(得分:0)
另外:这里的其他答案并没有解决我的问题,但我找到了另一种方法来解决Android Studio 0.8.0上的android-l问题。在我更改了build.gradle中的依赖项之后,问题遗憾地发生了,代码会说OLD_SKD。我正在使用Galaxy S2。
除了将所有内容更改为:19 +:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:19+'
compile 'com.android.support:support-v4:19+'
compile 'com.google.android.gms:play-services:+'
compile 'com.android.support:mediarouter-v7:19+'
}
它仍然无效,所以我不得不尽可能地回到原地:
android {
compileSdkVersion 19
buildToolsVersion '19.1'
defaultConfig {
minSdkVersion 11
targetSdkVersion 19
versionCode 1
versionName '1.0'
}
现在该应用程序再次在手机上运行。 我应该得到一个新的手机,但是现在,我希望这可以帮助别人。