Android Studio编译报AAPT: error: resource android:attr/lStar not found.错误

Android Studio编译报AAPT: error: resource android:attr/lStar not found.错误

问题描述

工程代码没有做修改,编译总是提示attr/IStar not found,查代码无相关修改,clean project都无效。
问题如下所示:

> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > Android resource linking failed
     /xxxxx/.gradle/caches/transforms-2/files-2.1/63e2a511377effd1caf795d92b1d98ec/core-1.7.0-rc01/res/values/values.xml:105:5-114:25: AAPT: error: resource android:attr/lStar not found.

问题分析

通过clean project等操作无效,分析问题错误,core-1.7.0-rc01,查依赖包core,发现core-ktx依赖包存在动态版本的情况,即:androidx.core:core-ktx:+,而原来指定版本的是依赖1.3.2版本,所以找了问题所在,高版本资源冲突问题,调整版本即可。

解决方案

通过分析知道了是版本冲突的问题,有两种解决方案:

  1. 将动态版本替换为指定版本,即:
api 'androidx.core:core-ktx:+'
//替换为
api 'androidx.core:core-ktx:1.3.2'
  1. 通过强制指定版本来进行解决,即在app的build.gradle中指定版本:
force 'androidx.core:core-ktx:1.3.2'

问题思考

在开发中尽量避免使用动态版本,在编译时,使用动态版本会拉取最新的版本,容易产生不可预知的问题,不仅为开发及维护排查问题增加了成本,而且容易造成将一些在编译期不可发现的问题带到线上,造成一定的损失。
在开发中指定引入包的版本,或者为了版本的可控,在App侧强制指定到某个引入的版本。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yunfeigeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值