AAPT2 error: check logs for details stackoverflow

本文详细解析了AAPT2error:checklogsfordetailsstackoverflow错误场景,并提供了四种解决方案,包括禁用Aapt2检查、解决中文路径问题、关闭InstantRun及解决support包版本冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误场景

AS版本:3.2
gradle插件版本:3.1.3
support版本:23.4.0

此项目2018年9月份封版之后就没有再动过了,又开启了新的项目。直到这次国庆节过后,老项目有有了新的需求,需要迭代一个小的版本,于是需求评审完成之后便准备在项目上拉新分支准备开发,奇葩的是项目刚一打开就报错了,报错信息如标题:

AAPT2 error: check logs for details stackoverflow

解决方案

去网上查了半天,大概知道这个AAPT2是一个资源类的检查工具,用来检查资源之类的有没有错误的,而且大家解决问题的方法也是五花八门,总结起来有一下几点:

1、设置enableAapt2=false

有小伙伴说禁用aapt2的检查就可以了,具体禁用方法:
在gradle.properties中加入一行代码:android.enableAapt2=false
不过该方式目前我尝试是不行的,提示必须开启此项检查,此方式无效!!

2、中文路径问题

有小伙伴说自己的问题经过筛查发现是=Gradle的 路径中有中文导致的,设置一个新的纯英文路径之后解决了问题,设置方法:

File–>Setting–>搜索Gradle–> Gradle home/Service directory path

看这两个路径中是否有中文,有的话可以尝试一下,我的不是这个问题!

3、Instant Run

有的小伙伴通过关闭Instant Run 解决该问题,我的不是这个问题!

入口:File–>Setting–>搜索Instant Run–>取消勾选

4、support包版本冲突

此项是我的项目遇到的问题,具体排查方法:

首先看自己的app的build.gradle中的support包依赖的版本,有没有列如appCompat-v7:21.+之类的用法,如果有的话尽量改成具体的版本号。

其次检查第三方依赖库,看是否有三方依赖库的版本指定的是:latest.release,如果有,很有可能是该包出的问题,修改latest.release为具体的版本号,可解决问题。
我的就是一个PhotoView的三方库升级导致的,我去github看到了改库刚升级了compile版本到28并且使用了新的support库androidx,所以才导致了该问题。修改成2.2.0版本之后问题就解决了。

com.github.chrisbanes:PhotoView:2.0.0

此外,在解决问题的过程中也发现了一篇讲解support包冲突场景和解决方法的文章,讲的比较深入,大家有兴趣的可以看看
文章链接:https://www.jianshu.com/p/a492bf61c0e6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

人多的烦恼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值