Android Studio无法部署代码变更及相关功能故障求助
解决应用修改不生效、Logcat显示旧日志及RecyclerView异常的问题
这种情况我开发时也碰到过好几次,大概率是构建缓存或者运行配置出了幺蛾子,给你几个实用的排查方向:
检查即时运行功能是否抽风
Android Studio的Instant Run有时候会出现缓存异常,导致你的修改根本没真正部署到设备上。可以这么处理:- 先点工具栏的
Run->Stop彻底停掉当前运行的应用 - 手动在设备上卸载掉这个应用
- 关闭Instant Run功能:路径是
File->Settings->Build, Execution, Deployment->Instant Run,把所有勾选的选项都取消,然后重新构建运行
- 先点工具栏的
清理更彻底的项目缓存
普通的Clean Project可能没清干净深层缓存,试试这些操作:- 依次点击
Build->Clean Project,接着Build->Rebuild Project - 手动删除项目根目录下的
.gradle文件夹、项目根目录和各模块里的build文件夹 - 重启Android Studio后再重新构建项目
- 依次点击
校验Logcat的过滤配置
有时候Logcat可能挂在旧进程上,或者过滤规则导致你看不到新日志:- 点击Logcat面板左上角的进程选择器,确认选的是当前运行的应用进程(不是带缓存标记的旧进程)
- 点击Logcat面板上的垃圾桶图标清空旧日志,然后重新操作应用,看看能不能输出新的日志内容
排查RecyclerView的关联问题
等上面的步骤确保修改能生效后,再看RecyclerView的问题:- 确认适配器、布局管理器的代码是你最新修改的版本
- 检查数据更新后有没有调用
notifyDataSetChanged()或者对应的局部刷新方法 - 可以临时给RecyclerView加个显眼的背景色,运行后看是否能显示,验证布局是否真的更新了
内容的提问来源于stack exchange,提问作者Miguel Barra




