【问题标题】:Android Studio: errors when adding 'com.android.support:appcompat-v7:25.3.1' to GradleAndroid Studio:将“com.android.support:appcompat-v7:25.3.1”添加到 Gradle 时出错
【发布时间】:2017-08-13 15:12:57
【问题描述】:

(Android Studio 2.3.3) 这是我的 Gradle 构建文件。我发现它非常令人沮丧,因为我只添加了最后一个 'support:appcompat' 行并且我收到了很多错误:

C:\app\build\intermediates\res\merged\debug\values-v24\values-v24.xml 错误:(3) 检索项目的父项时出错:找不到与给定名称“android:TextAppearance.Material.Widget.Button.Borderless.Colored”匹配的资源。 错误:(4) 检索项目的父项时出错:未找到与给定名称“android:TextAppearance.Material.Widget.Button.Colored”匹配的资源。 错误:(3) 检索项目的父项时出错:找不到与给定名称“android:TextAppearance.Material.Widget.Button.Borderless.Colored”匹配的资源。 错误:(4) 检索项目的父项时出错:未找到与给定名称“android:TextAppearance.Material.Widget.Button.Colored”匹配的资源。 . . 无法解析符号“R”

  apply plugin: 'com.android.application'

  android {
      compileSdkVersion 'Google Inc.:Google APIs:23'
      buildToolsVersion '25.0.2'

      useLibrary 'org.apache.http.legacy'

      defaultConfig {
          applicationId "ab.cdefghij.xyz"
          minSdkVersion 14
          targetSdkVersion 19
      }

      buildTypes {
          debug {
              debuggable true
          }
          release {
              minifyEnabled false
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
          }
      }
  }

  dependencies {
      compile 'com.google.android.gms:play-services-maps:11.0.4'
      compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
      compile 'com.android.support:support-v4:25.3.1'
      compile 'com.android.support:appcompat-v7:25.3.1'
  }

我有一个包含 CustomActionBarTheme (Theme.AppCompat.Light.DarkActionBar) 的 styles.xml,那么这些奇怪的错误是什么? AppCompat 替换了原来的 Holo,这个 values-v24.xml 是什么? 我从 gradle 收到了一些关于查找不同构建版本的无用消息,但整个场景是我在使用 Android Studio 时遇到的最令人困惑的场景之一。

我只需要这些数字的组合,即 25.0.0 等,就可以编译整个事情。

【问题讨论】:

  • compileSdkVersion 不是 API 25,那么您为什么要尝试使用版本 25 的支持库?
  • 我不确定。我对 Gradle 一直告诉我的关于使用最新版本等的所有消息感到困惑。我有 Google Api 24,所以会尝试切换到它,看看会发生什么。
  • 我不确定。我对 Gradle 一直告诉我的关于使用最新版本等的所有消息感到困惑。我有 Google Api 24,所以会尝试切换到它,看看会发生什么。好的,我已将 BuildTools 重置为 23.0.03,它说项目太低,最低为 25.0.0。所以改变,然后我得到 Failed to resolve com.android.support:appcompat-v7:23.0.3 所以回到 25.3.1 产生原始错误!我希望你能明白我为什么完全糊涂。
  • 下载后才能解析版本
  • 再一次,使用版本 24 不会让您编译版本 25 库

标签: android android-gradle-plugin


【解决方案1】:

这里有三个部分需要纠正。

1) 构建工具。

在解决库问题时,这应该始终是最新版本

2) 编译SDK

将其设为最新版本并没有什么坏处,尤其是如果想在最新的 Android 设备上运行。某些方法/类可能会被弃用或删除,但在大多数情况下你会没事的

这是错误的来源

values-v24\values-v24.xml 错误:(3) 检索项目的父项时出错:未找到匹配的资源

你没有编译API v24,所以你的资源文件无法生成,导致

无法解析符号“R”

3) 你的依赖项

支持库版本不能高于compileSdk,并且必须全部匹配,否则会包含无法编译的代码,如错误中所述

【讨论】:

  • 非常感谢先生。您的有用建议最终为我解决了问题。
猜你喜欢
  • 2017-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多