【发布时间】:2021-10-31 07:15:26
【问题描述】:
当我为始终正常工作的发布变体执行测试时,我开始遇到错误。代码始终在 Docker 容器中执行,因此我们可以确保构建始终是干净的。
今天由于某种原因,代码完全没有变化,我开始在测试运行中看到错误:
Execution failed for task:
am:processReleaseResources'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
> Android resource linking failed
/.gradle/caches/transforms-2/files-2.1/ff28653768e2ccb1135467db3600af3a/core-1.7.0-alpha02/res/values/values.xml:105:5-114:25: AAPT: error: resource android:attr/lStar not found.
我对该错误进行了一些研究,但我只发现与另一个资源相关的错误,但没有发现与 lStar 相关的错误。到目前为止,我发现 lStar 是特别添加到 Android 31(Android 12)的代码,这对我来说没有意义,如果我的 compileSdkVersion 值为 28,为什么它应该开始在 Android 12 上工作。
<declare-styleable name="ColorStateListItem">
<!-- Base color for this state. -->
<attr name="android:color"/>
<!-- Alpha multiplier applied to the base color. -->
<attr format="float" name="alpha"/>
<attr name="android:alpha"/>
<!-- Perceptual luminance applied to the base color. From 0 to 100. -->
<attr format="float" name="lStar"/>
<attr name="android:lStar"/>
</declare-styleable>
即使没有进行任何更改,此错误的原因可能是什么?
【问题讨论】:
-
面对这个问题,尝试更新我所有的依赖,gradle wrapper,gradle build 和 SdkVersion。仍然无法修复它,也尝试使用 androidx.core:core-ktx,没有运气..
-
@Ganesh 你可以试试下面的回答,很可能你的项目的一个依赖项是用最新版本构建的,android 12 开始出现在版本中,这打破了以前的许多东西版本。我也留下了一个答案,解释了我是如何修复它的
-
首先感谢您的回复。我在我的项目中根本没有使用 androidx.core:core-ktx,我同意我的一个外部库将具有依赖项,我尝试更新并检查每个依赖项,但它们看起来都不像升级到 31,在我的情况下,我刚刚更新到 31,突然一切都开始搞砸了..我降级了所有更新版本仍然没有帮助..无法构建任何它..
-
它来自 androidx.core:core:1.7.0->values.xml。日志说将 minSdkVersion 增加到 24 或更高。当将 compileSdkVersion 和 targetSdkVersion 更改为 31 OS 版本时,它就消失了。
标签: android