Android Studio 3.0.1仅能调试Main Activity,其他Activity断点无效如何解决?
我之前也碰到过一模一样的糟心事,给你整理几个亲测有效的排查和解决步骤:
确认其他Activity所在构建变体的调试开关
别忽略了构建类型的配置!打开Module级别的build.gradle文件,检查对应构建类型的debuggable属性是否为true——要是不小心给release变体或者自定义变体关了调试,断点肯定不会触发:buildTypes { debug { debuggable true minifyEnabled false } // 如果你用了其他自定义变体,也得确保它的debuggable是true }修改后记得点击右上角的
Sync Now同步项目。清理+重建项目,干掉缓存bug
Android Studio的编译缓存偶尔会抽风,导致调试信息和实际代码不匹配。依次点菜单栏的Build->Clean Project,完成后再点Build->Rebuild Project,之后重新启动调试会话试试。检查断点本身的有效性
先看看其他Activity里的断点是不是灰色的——灰色代表断点没被IDE识别,可能是代码没被编译进当前构建,或者位置是无效代码(比如被混淆、被条件编译排除了)。另外右键断点,看看有没有误设置了触发条件,比如只在特定变量值下才触发,这种情况也会让断点看起来像被忽略了。关掉Instant Run试试
Android Studio 3.0.x的Instant Run功能偶尔会和调试器冲突,导致断点异常。打开File->Settings->Build, Execution, Deployment->Instant Run,取消勾选Enable Instant Run to hot swap code/resource changes on deploy,然后重启Android Studio再调试。重置调试配置
有时候调试配置文件出问题了,不如直接重置:- 先停止当前调试,断开虚拟设备连接
- 点击
Run->Edit Configurations,选中你的调试配置,点左上角的删除图标,然后重新创建一个调试配置 - 极端情况可以备份后删除
.idea目录下的workspace.xml文件,再重启IDE
检查虚拟设备状态
虚拟设备本身也可能出问题,试试重启模拟器(点右上角的重启按钮),或者干脆新建一个虚拟设备再测试调试效果。
内容的提问来源于stack exchange,提问作者Mohamed Sharif

