将 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版本中可以重现
如何解决这个问题?
答案 0 :(得分:0)
如果您将Android X与支持库混合使用,则错误消息看起来像您收到的错误消息,至少我发现时就是这样。
如果您使用任何Android X依赖项,则不能使用任何旧的Android支持库依赖项,否则将它们全部合并到一个apk中时,将会得到重复的资源和其他问题。
确保您使用的是所有Android X或所有的支持库。如果您要使用Android X,请确保拥有
android.useAndroidX=true
android.enableJetifier=true
在您的gradle.properties
中,以便您的其他依赖项被视为Android X。
答案 1 :(得分:0)
为什么使用appcompat-v7-28.0.0-rc01
而不是appcompat-v7-28.0.0
?
甚至androidx.appcompat:appcompat:1.0.0
吗?
rc01
的意思是release candidate
;仅用于测试目的。