Android Studio点击Vector Asset向导Clip Art按钮报异常无法导入资源
问题根因
点击Clip Art按钮触发的报错核心是本地存储的Material Icons元数据文件损坏:异常信息中的乱码字符"ٹل›ذ"是文件下载不完整、编码异常、被网络中间件篡改的典型特征,导致Gson无法将内容解析为合法JSON对象,直接中断图标加载流程。
异常栈参考:
Error obtaining metadata file com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Not a JSON Object: "ٹل›ذ" at com.google.gson.Gson.fromJson(Gson.java:944) at com.google.gson.Gson.fromJson(Gson.java:870) at com.android.tools.idea.material.icons.metadata.MaterialIconsMetadata$Companion.parse(MaterialIconsMetadata.kt:47) at com.android.tools.idea.material.icons.utils.MaterialIconsUtils.getMetadata(MaterialIconsUtils.kt:92) at com.android.tools.idea.npw.assetstudio.MaterialVdIconsProvider$Companion.loadMaterialVdIcons(MaterialVdIconsProvider.kt:89) at com.android.tools.idea.npw.assetstudio.MaterialVdIconsProvider.loadMaterialVdIcons(MaterialVdIconsProvider.kt) at com.android.tools.idea.npw.assetstudio.ui.IconPickerDialog.<init>(IconPickerDialog.java:237) at com.android.tools.idea.npw.assetstudio.ui.IconPickerDialog.<init>(IconPickerDialog.java:155) at com.android.tools.idea.npw.assetstudio.ui.VectorIconButton.lambda$new$0(VectorIconButton.java:61) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) /*other code*/
解决步骤
按操作成本从低到高依次尝试:
- 清理IDE缓存重启
打开顶部菜单选择File > Invalidate Caches...,勾选全部缓存清理选项,点击Invalidate and Restart。IDE重启后会自动校验并重新拉取损坏的缓存文件,重启完成后直接重试矢量资源导入操作即可。 - 手动删除损坏的图标缓存目录
若常规清缓存无效,直接删除本地损坏的元数据文件:- 完全关闭Android Studio进程
- 根据自身操作系统进入对应缓存路径,找到
material-icons目录:- Windows:
C:\Users\<你的系统用户名>\.AndroidStudio<对应IDE版本号>\system\caches\material-icons - macOS:
~/Library/Caches/Google/AndroidStudio<对应IDE版本号>/caches/material-icons - Linux:
~/.cache/Google/AndroidStudio<对应IDE版本号>/caches/material-icons
- Windows:
- 清空该目录下所有文件
- 重启Android Studio,IDE会自动重新下载完整的元数据文件,再尝试导入操作。
- 校验网络与代理配置
元数据文件下载损坏大多和网络异常有关:- 打开
Settings > Appearance & Behavior > System Settings > HTTP Proxy,确认代理配置正确,无代理需求时直接选择No proxy - 受限网络环境下配置可用的镜像源后再重启IDE,避免下载过程中文件被截断、内容被篡改导致解析失败。
- 打开
- 版本兼容性修复
部分Android Studio预览版、修改版存在内置元数据解析逻辑bug,若以上操作均无效,升级到官方正式稳定版,或回退到之前使用正常的稳定版本即可。 - 临时应急方案
若急需导入矢量资源,可跳过内置Clip Art选择流程:提前下载好需要的图标SVG/XML文件,在Vector Asset导入向导中选择Local file选项,选中本地图标文件直接导入,绕过元数据解析步骤。
内容的提问来源于stack exchange,提问作者Alaa
相关产品推荐
相关产品推荐

