You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未修改代码时Android release变体执行测试出现资源链接失败错误

错误根本原因

报错核心是androidx.core:core依赖版本与项目compileSdkVersion不匹配:
core-1.7.0-alpha02是基于Android 12(API 31)编译的官方核心库,内部代码用到了仅API 31才新增的android:attr/lStar系统属性,而你的项目compileSdkVersion仅为28,构建时无法识别该系统属性,就会触发AAPT资源链接错误。

代码无改动却突发报错的可能原因

  • 你的项目依赖配置使用了动态版本声明,比如androidx.core:core:+、androidx.core:core:1.+这类不锁定具体版本的写法,只要远程仓库发布了符合版本规则的新版本,构建时就会自动拉取最新版,哪怕你的业务代码没有任何改动,依赖版本的变化也会触发构建失败。
  • 项目依赖的第三方组件的依赖规则包含动态版本的core库,或者第三方组件最近发布的新版本刚好将core依赖升级到了1.7.0-alpha02及以上版本,通过传递依赖拉高了你项目的core库整体版本。
  • 你的构建环境没有配置依赖版本锁定规则,也没有对依赖仓库做版本缓存,每次构建都会向远程仓库查询最新的符合规则的依赖版本,刚好core-1.7.0-alpha02是近期发布的版本,就在本次构建时被拉取到了。

验证与修复方案

执行./gradlew :am:dependencies(Windows环境执行gradlew.bat :am:dependencies)检索core库的依赖路径,即可定位到抬升core版本的来源,随后可以选择以下方案修复:

  1. 直接锁定兼容版本:在模块级build.gradle的dependencies块中指定适配compileSdk 28的core版本
// Kotlin项目
implementation("androidx.core:core-ktx:1.6.0")
// Java项目
implementation("androidx.core:core:1.6.0")
  1. 全局强制约束版本:如果是传递依赖导致的版本抬升,在根build.gradle的allprojects块中添加强制配置
allprojects {
    configurations.all {
        resolutionStrategy { force 'androidx.core:core:1.6.0' }
    }
}
  1. 长期兼容方案:后续将compileSdkVersion升级到31及以上,即可兼容更高版本的官方核心库。

内容的提问来源于stack exchange,提问作者Oscar Reyes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 02:21:01