在升级compileSdkVerion和buildToolsVersion之后,找不到与给定名称匹配的资源

时间:2016-03-07 16:20:10

标签: android android-studio gradle

我在build.gradle文件中有这两行:

public void onReceivedSslError(WebView view, SslErrorHandler handler,
        SslError error) {
    Bundle bundle = SslCertificate.saveState(error.getCertificate());
    X509Certificate certificate;
    byte[] bytes = bundle.getByteArray("x509-certificate");
    if (bytes == null) {
        certificate = null;
    } else {
        try {
            CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
            Certificate cert = certFactory.generateCertificate(new ByteArrayInputStream(bytes));
            certificate = (X509Certificate) cert;
        } catch (CertificateException e) {
            certificate = null;
        }
    }
}

我将它们改为:

compileSdkVersion 20
buildToolsVersion '21.1.2'

我还更改了支持库以匹配构建工具版本:

compileSdkVersion 23
buildToolsVersion '23.0.2'

现在,在构建项目时出现此错误:

compile 'com.android.support:support-v13:23.1.0'

这与布局文件中的一行有关:

Error:(21, 33) No resource found that matches the given name (at 'paddingTop' with value '@dimen/abc_action_bar_default_height').

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:3)

您应该从@ dimen / abc_action_bar_default_height更改为?attr / actionBarSize

当您更改支持库版本时,您的尺寸也发生了变化。这些值来自支持库中的资源,使用?attr / actionBarSize是避免此类中断的兼容方法。

您可以更好地了解尺寸和主题在此答案中的工作原理。 What is the size of ActionBar in pixels?

答案 1 :(得分:2)

您应该使用?attr/actionBarSize作为操作栏大小。

喜欢这个android:paddingTop="?attr/actionBarSize"

支持库现在隐藏了xml资源。如果你想获得那个维度,你需要使用它。

答案 2 :(得分:1)

我有一个类似的问题,问题是其他库依赖于应用程序版本低于com.android.support:support-v13:23.1.0,所以我建议去github / maven repo of the你有的库,看看他们是否已将他们的库更新到更新的版本。如此,然后更新你的依赖列表

答案 3 :(得分:0)

您可以删除此项目的其他库以试一试。