【问题标题】:Build Failed because of duplicate value for resource 'attr/mode' with config由于资源“attr/mode”与配置的重复值,构建失败
【发布时间】:2018-10-04 12:29:16
【问题描述】:

在我将 constraintLayout 版本从 1.1.2 -> 2.0.0-alpha2 升级后

我收到了这个错误

    java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource compilation failed
      /Users/x/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0-rc01.aar/
d5741c4d219b7f0eeb18436ff6f46f63/res/values/values.xml:1104:5-1169:25: AAPT: error: duplicate value for resource 'attr/mode' with config ''.

      /Users/x/.gradle/caches/transforms-1/files-1.1/appcompat-v7-28.0.0-rc01.aar/
d5741c4d219b7f0eeb18436ff6f46f63/res/values/values.xml:1104:5-1169:25: AAPT: error: resource previously defined here.

appCompat 版本为 v7:28.0.0-rc01

此问题可在 AS 3.3 canary 3 & 3.2 stable & 3.1.4 & 3.0.1 版本上重现

我该如何解决这个问题?

【问题讨论】:

    标签: gradle android-constraintlayout android-studio-3.2 android-studio-3.1.4 android-studio-3.3


    【解决方案1】:

    错误消息看起来像是将 Android X 与支持库混合使用时会得到的那种,至少我找到它时是这样的。

    如果您使用任何 Android X 依赖项,则不能使用任何旧的 Android 支持库依赖项,否则在将它们全部合并到一个 apk 时会出现重复资源和其他问题。

    确保您使用的是所有 Android X 或所有支持库。如果您要迁移到 Android X,请确保您有

    android.useAndroidX=true
    android.enableJetifier=true
    

    在您的 gradle.properties 中,以便您的其他依赖项被视为 Android X。

    【讨论】:

      【解决方案2】:

      为什么你使用appcompat-v7-28.0.0-rc01 而不是appcompat-v7-28.0.0

      甚至androidx.appcompat:appcompat:1.0.0

      rc01 表示release candidate;仅用于测试目的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多