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

重启Android Studio后出现:app:processDebugResources执行失败错误

解决Android Studio重启后ButterKnife引发的编译错误

你遇到的这个问题,核心是ButterKnife插件在处理自动生成的R类时触发了解析异常。从错误提示和堆栈跟踪能看出来,问题的本质是你的资源文件里存在带减号("-")的命名——这种命名会导致生成的R类包含非法的Java标识符,直接让ButterKnife的解析器崩溃。

为什么之前正常现在报错?

之前运行正常大概率是因为Android Studio缓存了旧的合法R类,重启后缓存被清空,重新生成R类时,资源命名的问题就暴露出来了。Java的变量名(也就是R类里的资源字段名)不允许包含减号,一旦出现public static final int ic-my-btn = ...这种代码,ButterKnife解析时就会抛出"Found '-', expected '('"的错误。

具体解决步骤

  • 排查非法资源命名:打开项目的Project视图,进入res目录,逐个检查drawable、layout、values等文件夹下的资源文件,找出所有名称带减号的资源(比如ic-my-icon.png、activity-main.xml这类)。
  • 修改资源名称:把这些资源里的减号全部替换成下划线("_"),比如ic-my-icon.png改成ic_my_icon.png,activity-main.xml改成activity_main.xml。同时要同步修改代码中引用这些资源的地方(比如布局里的@drawable/ic-my-icon要改成@drawable/ic_my_icon)。
  • 清理重建项目:点击顶部菜单栏的Build → Clean Project,完成后再点击Rebuild Project,让Android Studio重新生成合法的R类。
  • 极端情况处理:如果清理重建后还是报错,可以删除项目根目录下的.gradle文件夹和app模块下的build文件夹,然后点击File → Sync Project with Gradle Files重新同步项目。

按照这些步骤操作后,应该就能顺利解决这个编译错误了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 09:07:21