Gradle 由于资源';的值重复,生成失败;属性/模式';使用配置

Gradle 由于资源';的值重复,生成失败;属性/模式';使用配置,gradle,android-constraintlayout,android-studio-3.2,android-studio-3.1.4,android-studio-3.3,Gradle,Android Constraintlayout,Android Studio 3.2,Android Studio 3.1.4,Android Studio 3.3,我从1.1.2->2.0.0-alpha2升级了constraintLayout版本后 我犯了这个错误 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-v

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

我犯了这个错误

    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版本上复制


如何解决这个问题?

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

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

确保您在所有Android X或所有支持库上。如果您要迁移到Android X,请确保

android.useAndroidX=true
android.enableJetifier=true

在你的
gradle.properties
中,这样你的其他依赖项就会被当作Android X一样对待。

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

甚至
androidx.appcompat:appcompat:1.0.0

rc01
表示
发布候选版本
;仅用于测试目的