如何修复AAPT报错:drawable/tt资源未找到问题
AAPT报错
drawable/tt资源不存在的排查解决方法 这个错误是布局文件引用了不存在的drawable资源导致的,按以下步骤逐一排查即可解决:
- 定位错误引用点
直接打开报错指向的app/src/main/res/layout/activity_loging.xml文件,跳转到第2行,查找所有引用@drawable/tt的属性,常见于android:background、android:src、app:srcCompat、android:foreground这类设置图片/背景的属性。 - 核对资源文件状态
打开app/src/main/res/路径,检查所有drawable相关目录(包括通用drawable目录、各分辨率适配的drawable-*dpi目录、版本适配的drawable-v*目录):- 如果你确实需要使用名为
tt的drawable资源:- 检查文件名是否符合Android资源命名规范:必须全小写,仅支持小写字母、数字、下划线,不能有大写字母、空格、特殊符号,比如命名为
Tt.png、tt new.jpg都会导致识别失败 - 确认资源文件放在当前app模块的drawable目录下,没有误放到其他模块、或者
assets资产目录中 - 如果是刚复制进项目的新资源,点击工具栏的
Sync Project with Gradle Files按钮同步项目,让IDE识别新增资源
- 检查文件名是否符合Android资源命名规范:必须全小写,仅支持小写字母、数字、下划线,不能有大写字母、空格、特殊符号,比如命名为
- 如果你本来没有名为
tt的drawable资源:
属于写布局时手滑输错、或者自动补全选错了引用,直接把第2行的@drawable/tt替换成你实际需要引用的正确drawable资源名即可。
- 如果你确实需要使用名为
- 清理异常编译缓存
如果确认资源引用正确、文件也存在,大概率是旧编译缓存导致的识别异常:- 依次点击菜单栏
Build->Clean Project,等待清理完成 - 再点击
Build->Rebuild Project重新编译 - 上述操作无效的话,关闭Android Studio,删除项目根目录下的
.gradle、.idea文件夹,以及app模块下的build文件夹,重新打开项目等待Gradle同步完成后再编译即可。
- 依次点击菜单栏
补充:如果你的
tt资源是矢量图(vector),确认没有放在高版本专属的drawable目录(比如drawable-v24)却在低版本SDK配置下编译,这种情况也会出现资源找不到的报错,把矢量图移到通用drawable目录即可。
内容的提问来源于stack exchange,提问作者Hm Elius Hossain Himel
相关产品推荐
相关产品推荐

