由于资源 'attr/mode' 与配置的重复值,构建失败
Build Failed because of duplicate value for resource 'attr/mode' with config
我从 1.1.2 升级 constraintLayout 版本后 -> 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 版本上重现
如何解决这个问题?
如果将 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
表示release candidate
;仅供测试。
我从 1.1.2 升级 constraintLayout 版本后 -> 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 版本上重现
如何解决这个问题?
如果将 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
表示release candidate
;仅供测试。